应用的拆分与服务化

应用的拆分与服务化

应用的拆分与服务化

随着业务的发展,应用越来越大。我们需要考虑如何避免让应用越来越臃肿。这就需要把应用拆开,从一个应用变为俩个甚至更多。

我们把公共的服务拆分出来,形成一种服务化的模式,简称SOA。

问题:

①SOA的优点是什么?

②SOA之间如何通信?

微服务架构

为什么要服务化(优点)?防止代码到处拷贝,提高了复用性。减少系统的复杂性,管理方便。

服务化SOA的通信是通过RPC框架进行的。

所以RPC框架是服务化首要解决的问题。

什么是RPC

RPC(Remote Procedure Call Protocol),远程过程调用。

让调用方“像调用本地函数一样调用远端的函数(服务)”。

  • 首先A与B之间建立一个TCP连接;
  • 然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;
  • B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是localAdd)并把结果30返回;
  • A接受远程调用结果

常见的RPC框架

  • Thrift (facebook 开发的支持php java等等)
  • Hessian (简单)
  • Yar

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注