理论篇:SOA/RPC/MSA—Spring Cloud

理论篇:SOA/RPC/MSA—Spring Cloud

序列化和RPC框架

早期的序列化协议:COM和CORBA。其中COM仅用于Windows平台,CORBA是跨平台 跨语言的序列化协议,版本和兼容性导致主键消亡。

主流序列化协议:

--优点缺点应用
XML序列化协议跨平台、跨语言冗长复杂小数据量,不适合ms级性能要求
JSON序列化协议跨平台、跨语言、可读性好空间开销大小数据量,不适合ms级性能要求
FackBook Thrift序列化协议
RPC框架
高性能、轻量级RPC服务框架Thrift框架和Thrift序列化协议强绑定大数据量、分布式、跨平台和跨语言
Google Protobuf序列化协议性能高,可读性好仅支持Java C++ Python三种语言、支持数据类型少
Apache Avro序列化协议JSON/binary两种格式,支持丰富的数据类型
Hessian序列化协议二进制数据

SOAP,基于XML序列化协议和HTTP协议的结构化消息通信协议

基于SOAP的解决方案——Web Service(SOAP + WSDL和XSD + UDDI)

应用场景:小数据量和性能要求低

主流RPC框架:

  • 序列化(数据格式)和网络传输
-序列化传输协议支持服务治理跨语言通讯
Dubbo默认Hessian默认TCP长连接支持
gRPCProtobufHTTP2支持
Motan默认HessianTCP长连接支持
Apache ThriftThrift传输层支持

SOA/MSA

概念

RPC,Remote Procedure Call,远程过程调用


SOA,Service Orienteed Architecture,面向服务的架构

​ Web Service:SOAP,通信协议;WSDL,描述服务;UDDI,注册和查找服务

​ MSA,Micro Service Architecture,微服务架构


REST,Representational State Transfer,表现层状态转换

通信协议

HTTP,TCP,SOAP

数据格式

XML,JSON,二进制

历史发展

单体架构:SSH

分布式架构:

  1. 基于SOAP协议(XML+HTTP)的Web Service

  2. MSA:RPC(Dubbo),Spring Cloud,Kubernetes

基于HTTP REST的Spring Cloud
  • 服务治理:Spring Cloud Eureka
    • 服务注册与发现
  • 客户端负载均衡:Spring Cloud Ribbon
    • 负载均衡的调用远程服务
  • 声明式Web服务客户端:Spring Cloud Feign
    • 简化客户端调用
  • 断路器/熔断器:Spring Cloud Hystrix
    • 防止故障扩散
  • 配置管理:Spring Cloud Config
    • 方便:配置文件统一管理,实时更新
  • 服务网关:Spring Cloud Zuul
    • 方便:权限控制,负载均衡
    • 服务路由
  • 消息总线:Spring Cloud Bus
    • 配置热更新

参考

美团技术团队——序列化和反序列化

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值