后端架构师必知必会系列:分布式计算与任务调度

发布于:2023-10-25 ⋅ 阅读:(146) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.背景介绍

分布式计算与任务调度

随着互联网公司对数据量和业务处理需求的提升,单体应用已无法满足用户对高性能、可靠性及快速响应时间的要求。为了应对这些挑战,目前各大互联网公司都在寻求将单体应用拆分为微服务架构。但是由于系统的复杂度及开发人员的增加,引入微服务架构带来的复杂度也是需要考虑的问题。比如:服务之间如何通信?如何做服务发现?什么时候集群化?部署方式又该怎样?……等等一系列问题都会成为架构设计者所面临的挑战。

为了解决这个复杂的问题,于是出现了很多的分布式计算框架,如Apache Hadoop、Spark、Storm等。这些框架通过分布式计算引擎(如MapReduce、Spark)可以实现海量数据的并行计算。同时,它们也提供了诸如服务发现、负载均衡、容错、HA等分布式系统架构方面的功能,使得开发人员可以简单地基于这些框架进行应用的开发。因此,越来越多的公司开始使用分布式计算框架来开发新应用或维护现有的应用。

但除了基于这些分布式计算框架之外,还需要考虑另一个重要问题——任务调度。很多大型公司都希望能够根据不同的业务指标及流量,自动地调整应用服务器的规模,以保证服务的可用性及性能。比如:降低某项业务的流量时,需要把请求调度到其他机器上;当某台机器负载过高时,应该把其上的服务迁移出去,减少资源消耗;同时还要考虑动态调整资源分配,避免资源浪费等。

因此,了解分布式计算与任务调度,对于后端架构师来说,是非常有必要且重要的技能。下面我们就一起学习分布式计算与任务调度。

2.核心概念与联系


网站公告

今日签到

点亮在社区的每一天
去签到