SpringBoot开启多端口探究--开启gRPC端口


前情提要

之前咱们聊过SpringBoot下开启多端口有3个思路,并分析了第一种开启独立management端口的实现细节,今天咱们聊聊开启gRPC端口的实现。


一、gRPC的特别之处

基于SpringBoot的微服务,其通信大多基于HTTP+JSON。前者为通信协议,后者为数据内容格式。更进一步说,这HTTP大多也是HTTP/1.1,随着HTTP协议的发展HTTP/2, HTTP/3也已经出来了。此外, 数据格式也未必都是JSON, XML、Protobuf、Thrift, Avro等结构化格式都是可行的。gRPC使用的默认是HTTP/2+Protobuf,其特别之处主要在HTTP/2与HTTP/1.1的区别。

HTTP/1.1 HTTP/2
内容编码 文本编码 二进制编码, 相同信息比文本编码报文更短
网络请求方式 在同一链接上,多个请求依次发送和接收 在同一连接上,多个情况可以流水线发送

此外, HTTP/2还新增了header压缩和服务端push等特性。由此可见,gRPC依赖的HTTP/2与HTTP/1的有截然不同的要求, 在实际使用中也要专门处理,其中有独立的HTTP/2相关的协议编解码,应用层的消息编解码等。不过,这些也都被gRPC框架给屏蔽了。关于gRPC本身的实现细节在此不做讨论,我们关注在与SpringBoot的集成。

二、粗暴方案

手动创建相关对象,暴露到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值