目前业内常用的微服务框架除了 SpringCloud 和 Dubbo 之外,还有其它的框架么?与 SpringCloud 和 Dubbo 相比较的话分别有什么样的优势和应用场景的局限性?
目前微服务的发展方向是ServiceMesh,目前基本确定是Istio项目,好处是应用不在需要关注服务注册发现,应用路由,链路监控等功能,关注于应用开发;支持不同的开发语言;局限性是和容器平台结合很紧,同时由于所有的应用路由都由平台代理,灵活性不如Spring CLoud;其次目前性能也不如SpringCloud。
收起目前微服务的框架主要是以下
Dubbo
阿里巴巴公司开源的一个Java高性能优秀的服务框架,可以和Spring框架无缝集成,相关资料很丰富。目前升级为apache的项目
spring cloud
Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。
gRPC
Google发布的开源RPC框架,高性能、开源、将移动和HTTP/2放在首位的通用的RPC框架,基于HTTP/2, netty4.1, proto3, 拥有非常丰富而实用的特性,堪称RPC 框架的典范。
Thrift
再来看下 Thrift,Thrift 是一种轻量级的跨语言 RPC 通信方案,支持多达 25 种编程语言。
Motan
Motan 是微博开源一个比较有名的开源的 RPC 框架
这些RPC框架从功能角度来看,都是满足微服务架构的需求。国内使用Dubbo的比较多,国外使用Spring Cloud的比较多。单纯从功能角度去比较没有谁优谁劣之分,如果要做微服务的话,建议使用团队比较熟悉的框架。如都不熟悉,那么建议使用Dubbo,微信群,钉钉群都能很好的去提问。