应用的拆分与服务化
随着业务的发展,应用越来越大。我们需要考虑如何避免让应用越来越臃肿。这就需要把应用拆开,从一个应用变为俩个甚至更多。
我们把公共的服务拆分出来,形成一种服务化的模式,简称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