protocol:用来进行 RPC 服务的描述和 RPC 服务的配置管理,这一层还可以添加不同功能的 filter 用来完成统计、并发限制等功能 。
serialize:将 RPC 请求中的参数、结果等对象进行序列化与反序列化,即进行对象与字节流的互相转换,默认使用对 Java 更友好的 Hessian 2 进行序列化 。
transport:用来进行远程通信,默认使用 Netty NIO 的 TCP 长链接方式 。
cluster:Client 端使用的模块,cluster 是一组可用的 Server 在逻辑上的封装,包含若干可以提供 RPC 服务的 Server,实际请求时会根据不同的高可用与负载均衡策略选择一个可用的 Server 发起远程调用 。
Spring CloudSpring Cloud 是为了解决微服务架构中服务治理而提供的一系列功能的开发框架,它是完全基于 Spring Boot 进行开发的,Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案 。它的架构图可以用下面这张图来描述 。

文章插图
以下为Spring Cloud的核心功能:
- 分布式/版本化配置
- 服务注册和发现
- 路由
- 服务和服务之间的调用
- 负载均衡
- 断路器
- 分布式消息传递
下图是RPC框架详细的比较

文章插图
如何选择?一家A轮融资的公司 原来架构是net,想换java架构 。公司没有强大的研发实力,公司主要是to B业务,对并发要求不高,那可以试试Spring Cloud 架构,Spring Cloud 不仅提供了基本的 RPC 框架功能,还提供了服务注册组件、配置中心组件、负载均衡组件、断路器组件、分布式消息追踪组件等一系列组件,被技术圈的人称之为“Spring Cloud 全家桶”,而 Dubbo、Motan 基本上只提供了最基础的 RPC 框架的功能,其他微服务组件都需要自己去实现,对于这类研发能力弱的团队,SpringCloud 无疑是最合适的,减少了研发成本,社区热度高,相关的教程文档很多,减少了入门成本;
再比如这家公司不准备切换Java框架还是继续使用net架构,有一定的研发能力,对并发要求很高,那gRPC无疑是最适合的,跨语言支持,高性能;
没有完美的解决方案,只有最合适的
推荐阅读
- 程序员告诉你微信营销号如何防封、解封
- 大门对阳台风水怎么样
- 怎么让好友看不出来开了情侣空间 情侣空间不在空间显示让别人看不到
- 长沙可妮婚庆公司怎么样
- 水晶吊灯怎么样 如何选购水晶吊灯
- 亚麻的衣服显档次吗 亚麻裙子一坐全是皱怎么解决
- 用什么溶解玻璃胶最快 玻璃胶怎么去除衣服上
- 经络养生健身操怎么做?
- 有氧瘦身健美体操怎么做?需要注意什么?
- 瑜伽放松练习怎么做
