大型系统发展流程图:

dubbo学习之分布式应用思想-LMLPHP

<1>all in one阶段

所有的应用都部署在一台服务器上,适用与流量较小的应用

缺点:页面,业务逻辑,数据库等全部部署在一台服务器上,承载压力的能力不足,系统的扩展能力不足。

<2>mvc阶段

将应用拆分成独立的应用,分别部署在不同的服务器上,每个服务器上的页面,逻辑,数据库,等配套齐全。

优点:承载能力有一定的提升,扩展能力有一定的提升

缺点:页面,业务逻辑,数据库等全部部署在一台服务器上,承载压力的能力不足,系统的扩展能力不足。可能因为一个页面的修改就导致需要服务器重启。

<3>rpc阶段

将应用拆分成独立的应用,分别部署在不同的服务器上,将页面拆分成独立的文件,分别部署在不同的服务器上,

应用之间通过socket链接来建立通信,达到各个应用之间的协调工作。

优点:承载能力进一步的提升,扩展能力进一步的提升

缺点:服务之间没有一个统一的管理,容易造成资源的浪费

<4>soa阶段

应用之间也是独立部署,但是增加了资源的动态管理,方便调整资源的利用率。

 

SOA架构关键实现思路:

dubbo学习之分布式应用思想-LMLPHP

<1>应用a与应用b之间的通信,依赖与网络通信,两者需要建立socket通信

<2>通信的数据之间需要序列化与反序列化,来完成数据在网路中的通信

核心思路依赖与如上两点。

rpc服务治理的性能瓶颈也依赖于上述两点:

<1>如何实现高性能的网络通信

<2>如何实现序列化之后的数据在网络上高效传输

10-03 13:49