分布式服务
1.分布式 RPC 服务框架
分布式 RPC 服务框架, 由RPC发展而来。
- SOAP协议:Web服务,消息封装太复杂,采用xml传输数据,网络消耗和 cpu 解析消耗都特别大,不适合传递大量数据,客户端需要生成很多stub类。
- rpc框架: 传输数据多采用二进制格式 ,消息序列化和反序列化都比较快,网络消耗小,缺点是 客户端和服务端都要生成很多stub类。
- REST服务:是一种架构风格。资源是由URI来指定的,有唯一性。使用HTTP协议,因此是无状态的。
- protocol buffer:是 google的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c++ 和 python等,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。 Protobuf只有一种序列化和反序列化的手段,并不涉及传输层。Protobuf序列化效率业界最高!
对于分布式服务的执行,主要是二段式提交。要提高性能要具体问题再分析。
参考: