天天看点

软件设计复杂度来源高性能单机的性能无法支撑业务的发展,需要通过机器集群的方式来达到高性能的目的。通过多台机器来提升性能,

作者:御封架构师

软件设计复杂度来源高性能

单机的性能无法支撑业务的发展,需要通过机器集群的方式来达到高性能的目的。

通过多台机器来提升性能,常用的有两种方式:任务分配和任务分解。

任务分配是指集群中的每台机器都是平等的,拥有相同的代码,可以处理完整的业务任务。

任务分配需要添加任务分配器,如图所示。

任务分配的复杂度体现在:

增加一个任务分配器,可以是:硬件F5,四层负载均衡软件LVS,七层负载Nginx,自己开发系统

分配器和真实业务服务器,选择合适的链接,并对链接进行管理

分配器需要分配算法,如:轮询,权重,服务器负载等

如果业务发展越来越大,大到一台分配器无法满足的情况,需要增加多台任务分配器。如图所示。

多台任务分配器比单台更复杂,体现在:

分配器的增多,需要将不同的用户分配到不同的分配器上。常用的有DNS轮询,CDN,GSLB

分配器与真实服务器的连接由1对1到多对多的网状结构

随着分配器数量的增多,状态管理和故障处理复杂度也越高

架构师系列文章,程序员瓶颈突破架构师➕架构设计的理论与实践。

请君共赴架构师之路,更多精彩内容,点击链接了解更多。

#程序员# #架构设计# #架构师# #java#

网页链接

软件设计复杂度来源高性能单机的性能无法支撑业务的发展,需要通过机器集群的方式来达到高性能的目的。通过多台机器来提升性能,
软件设计复杂度来源高性能单机的性能无法支撑业务的发展,需要通过机器集群的方式来达到高性能的目的。通过多台机器来提升性能,
软件设计复杂度来源高性能单机的性能无法支撑业务的发展,需要通过机器集群的方式来达到高性能的目的。通过多台机器来提升性能,

继续阅读