|
|
51CTO旗下网站
|
|
移动端

1.1.3 单体架构使用服务器集群及存在的不足

《深入理解Spring Cloud与微服务构建》第1章微服务简介,本章介绍什么是微服务、为什么需要微服务、微服务的优缺点和挑战,并且将单体架构的系统和微服务架构的系统进行了比较。本节为大家介绍单体架构使用服务器集群及存在的不足。

作者:方志朋来源:人民邮电出版社|2018-03-06 14:57

1.1.3 单体架构使用服务器集群及存在的不足

随着业务的发展,大多数公司会将单体应用进行集群部署,并增加负载均衡服务器(例如Nginx 等)。另外,还需要增加集群部署的缓存服务器和文件服务器,并将数据库读写分离,以应对用户量的增加而带来的高并发访问量。此时的系统架构如图1-3所示。

用负载均衡服务器分发高并发的网络请求,用户的访问被分派到不同的应用服务器,应用服务器的负载不再成为瓶颈,用户量增加时,添加应用服务器即可。通过添加缓存服务器来缓解数据库的数据以及数据库读取数据的压力。大多数的读取操作是由缓存完成的,但是仍然有少数读操作是从数据库读取的,例如缓存失效、实时数据等。当有大量的读写操作时,将数据库进行读写分离是一个不错的选择,例如MySQL的主从热备份,通过相关配置可以将主数据库服务器的数据同步到从数据库服务器,实现数据库的读写分离,读写分离能够改善数据库的负载能力。

这种架构有一定的处理高并发的能力,也能应对一定复杂的业务需求,改善了系统的性能,但是依然没有改变系统为单体架构的事实,此时存在的不足之处如下。

系统仍然为单体应用,大量的业务必然会有大量的代码,代码的可读性和可维护性依然很差。

面对海量的用户,数据库将会成为瓶颈,解决方案将使用分布式数据库,也就是将数据库进行分库分表。

持续交付能力差,业务越复杂,代码越多,修改代码和添加代码所需的时间越长。新人熟悉代码的时间长、成本高。

由此看见,在应用初期,单体应用从成本、开发时间和运维等方面都有明显的优势。但是随着业务量和用户量的增加,它所暴露出来的缺点也显而易见。单体架构已经不能满足复杂的业务和海量的用户系统,改变单体架构势在必行。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读——超级网管经验谈

本书是一本以示例形式直接面向应用的网络管理图书。书中以大量示例和大量实用网络管理与故障排除经验介绍了当前网络管理工作的各主要方面。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊