项目服务化架构:
1,服务化指的是项目架构微服务化.
2,服务化的划分规则:
1),根据业务划分,比如豆瓣电影是一个产品线,把豆瓣电影独立成一个服务,被其他的产品线使用.整个豆瓣网站都不会由于一个产品线问题,让整个网站不能使用.
2),根据功能划分,豆瓣的读书,音乐,电影都有长评的功能。把长评功能独立起来,被这些产品线使用,服务化之后,那些需要长评功能的产品线不需要依赖于庞大的豆瓣电影服务,直接调用长评服务即可
3,微服务框架问题:
1),微服务化之后,客户端之间的通信一般成了网络通信,序列化与反序列,网络传输等,势必增加性能损耗,所以客户端的请求尽量减少不必要的服务调用,同时对请求进行合理的合并来减少网络的请求
PRC框架:
1,PRC(远程过程调用)计算机通信协议,此协议允许进程之间的通信.PRC屏蔽了底层的传输方式(TCP/UTP),序列化与反序列化(XML/JSON/二进制),使用框架只需要知道调用者的地址与接口即可,无需要额外的底层内容编程。
2,PRC与 RESTful API的区别:
1),流量消耗。PRC协议实现的是二进制编码,RESTful API在应用层使用的是HTTP协议,就算是json格式也是会消耗大量的流量
2),资源粒度。PRC是本地调用方法,RESTful API 是增加了一个试图方法,需要额外的开放接口,并且还要维护资源的粒度以及权限等等。
3),对接第三放的服务,通常使用的是HTTP/RESTful 等共有协议,但是内部调用使用的是功能更高的二进制私有协议.