大型分布式网站的架构演进

刺骨的言语ヽ痛彻心扉 2022-06-16 00:37 350阅读 0赞

1.单一应用框架

一个简单的电商网站,可能包含如下的几个模块和功能:首页,detail,list页,下单,支付以及后台管理页面和功能.

单一应用架构带来的问题:

1.代码越来越庞大,业务越来越复杂,多个团队开发同一个应用,难以维护

2.业务复杂,占用的系统资源越来越多,流量越来越大,不方便扩展.

Center

![Image 1][]

2.垂直应用框架

解决的问题:

解决了单一框架所面临的扩容问题,流量能够分散到各个子系统当中,且系统的体积可控,一定程度上减低了开发人员之间协同以及维护的成本,提升了开发效率.

缺陷:

相同的逻辑代码在不同的垂直应用中复制,不能复用,难以维护和升级.

Center 1

![Image 1][]

3.分布式应用框架

好处:

将公共的业务逻辑提取出来,形成服务,对外提供,避免重复造轮子,相同的逻辑维护一份,也便于升级改造,原本需要一个大团队维护的系统,也可以切分成一个个子系统,分配给一个个固定小团队来维护,降低了系统发布的风险,提高了系统的稳定性,并且也可以让前端业务系统与底层数据访问分离,团队分工更为明确.

Center 2

大型分布式网站的架构演进

![Image 1][]Center 3

随着单一应用框架,垂直应用架构向分布式应用架构的演变,业务规模越来越庞大,系统逻辑越来越复杂,系统研发和维护团队规模也越来越大,又发展为面向服务的架构体系(SOA),并且,部分通用的功能和组件抽离出来,形成一系列中间件,加上一系列的分布式系统的基础设施,共同组成了大型分布式网站的复杂架构.在系统逐步服务化的同时,一个大型,稳健,成熟的分布式系统背后,往往会涉及众多的中间件,以及一系列的支撑系统,我们将这些中间件和支撑系统称为分布式系统的基础设施.

这些分布式系统所依赖的基础设施包括:服务框架,消息中间件,数据访问中间件,配置中心,分布式缓存系统,持久化存储(关系数据库,nosql数据库),搜索引擎,CDN网络,负载均衡系统,运维自动化系统,硬件虚拟化及镜像管理系统,分布式文件系统,日志收集系统,监控系统,离线计算,实时计算,数据仓库等等.

如何理解面向服务(SOA)的架构体系

1.服务化的初衷:业务逻辑复用,公共的业务被拆分出来,形成可共用的服务.最大程度上保障代码和逻辑的复用性,避免重复建设

2.SOA是用来解决什么问题的:

随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系越来越复杂,SOA就是用来解决服务之间调用和依赖的问题的.SOA对服务提供,服务调用,连接处理,通信协议,序列化方式,服务发现,服务路由,日志输出等行为进行了封装的服务架构,以及为大规模的服务化应用保驾护航的服务治理系统.

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,350人围观)

还没有评论,来说两句吧...

相关阅读

    相关 大型分布式网站架构技术总结

    本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型

    相关 大型网站架构分布式架构

    解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现这种思想。 架构目标