看完springCloud 之后有如下感受,请大神解惑
1.感觉 springCloud 的封装就是把之前 nginx+ tomcat 干的活给封装起来啦。
2.springCloud 感觉没有Zookeeper+ Dubbo 用这爽,以前我们习惯 把service 设计为服务,controller 为路由层,实现不同平台之间的数据切换。但是springCloud 却相反。
3.性能 springCloud 基于http 协议,其他的是基于RPC协议,性能上差一节
所以想问下 如何理解springCloud 的这种设计
每个问题回答下:
1.感觉 springCloud 的封装就是把之前 nginx+ tomcat 干的活给封装起来啦。
并不止,SpringCloud有完善的监控,服务注册,熔断还有重试机制
2.springCloud 感觉没有Zookeeper+ Dubbo 用这爽,以前我们习惯 把service 设计为服务,controller 为路由层,实现不同平台之间的数据切换。但是springCloud 却相反。
Zookeeper是CAP理论中保证CP,Eureka保证AP,对于注册中心,Eureka更符合需求。
Dubbo在服务注册发现上面,主要问题在于重试,默认情况需要服务做到幂等。但是对于服务发现的细粒度性更好,例如注册中心注册有接口的维度,eureka只到应用的维度(同一应用多个实例之间无法实现多版本)
SpringCloud是完整的解决方案,比Dubbo全面
3.性能 springCloud 基于http 协议,其他的是基于RPC协议,性能上差一节
所以想问下 如何理解springCloud 的这种设计
SpringCloud通用性更好,多语言环境,http协议更通用。Dubbo RPC只能在Dubbo环境(需要客户端也是Dubbo)用。
而且性能不会差太多,只是http协议重一些。默认配置上性能问题,可以调整下Spring Cloud的序列化方式,例如改成FastJson,性能就差不多了