参考:https://blog.csdn.net/u010664947/article/details/80007767
当前开源上可选用的微服务框架主要有Dubbo、Spring Cloud等。二者主要区别:
dubbo:
1.二进制传输;
2.开发难度较大,原因是dubbo的jar包依赖问题;
3.注册中心可以选择zk,redis等多,针对分布式领域著名的CAP理论(C——数据一致性,A——服务可用性,P——服务对网络分区故障的容错性),Zookeeper 保证的是CP ;
4.系统结构复杂,包括Url,protocol,register,invocation,dubbofilter,dubboSPI,dubbo序列化;
springCloud:
1.http协议传输;
2.注册中心只能用eureka或者自研; Eureka 设计则遵循AP原则 ;
3.系统结构更简单、注册+springmvc=springcloud;
备注:Spring Cloud也并不是和http+JSON强制绑定的,如有必要Thrift、protobuf等高效的RPC、序列化协议同样可以作为替代方案