大型系统发展流程图:
<1>all in one阶段
所有的应用都部署在一台服务器上,适用与流量较小的应用
缺点:页面,业务逻辑,数据库等全部部署在一台服务器上,承载压力的能力不足,系统的扩展能力不足。
<2>mvc阶段
将应用拆分成独立的应用,分别部署在不同的服务器上,每个服务器上的页面,逻辑,数据库,等配套齐全。
优点:承载能力有一定的提升,扩展能力有一定的提升
缺点:页面,业务逻辑,数据库等全部部署在一台服务器上,承载压力的能力不足,系统的扩展能力不足。可能因为一个页面的修改就导致需要服务器重启。
<3>rpc阶段
将应用拆分成独立的应用,分别部署在不同的服务器上,将页面拆分成独立的文件,分别部署在不同的服务器上,
应用之间通过socket链接来建立通信,达到各个应用之间的协调工作。
优点:承载能力进一步的提升,扩展能力进一步的提升
缺点:服务之间没有一个统一的管理,容易造成资源的浪费
<4>soa阶段
应用之间也是独立部署,但是增加了资源的动态管理,方便调整资源的利用率。
SOA架构关键实现思路:
<1>应用a与应用b之间的通信,依赖与网络通信,两者需要建立socket通信
<2>通信的数据之间需要序列化与反序列化,来完成数据在网路中的通信
核心思路依赖与如上两点。
rpc服务治理的性能瓶颈也依赖于上述两点:
<1>如何实现高性能的网络通信
<2>如何实现序列化之后的数据在网络上高效传输