gRPC 服务器启动方式比较
- 一. 介绍
- 二. 套接字地址方式
- 三. 端口方式
- 四. 如何选择
前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱
一. 介绍
百度百科套接字
gRPC 是一种高性能的远程过程调用(RPC)框架,它支持多种编程语言和通信协议。在使用 gRPC 启动服务器时,您可以选择使用套接字地址或端口进行通信。
我公司的项目是由几个服务组成的,每个服务都是由不同的语言编写,为了方便跨语言通信,就选择了grpc。由于都是在同一个机器上的,为了加快通信效率,我们选择了套接字socket进行通信。接下来解释一下socket和端口两种方式的区别。
二. 套接字地址方式
套接字地址方式使用 Unix 域套接字(Unix Domain Socket)进行通信。通过指定套接字文件的路径,可以在本地进行进程间通信。
springboot的yml示例配置:
grpc:
server:
address: unix:///com/test_haha.sock
优点:
- 本地通信:适用于同一台机器上的进程间通信。
- 高效性:避免了网络传输的开销,通信速度快。
缺点:
- 局限性:只能在同一台机器上进行通信,不适用于跨机器通信。
三. 端口方式
端口方式使用指定的端口号进行通信,通过网络进行跨机器的进程间通信。
springboot的yml示例配置:
grpc:
server:
port: 9091
优点:
- 跨机器通信:适用于不同机器之间的进程通信。
- 网络访问:可以通过网络访问 gRPC 服务。
缺点:
- 网络传输延迟:可能受到网络传输延迟和带宽等因素的影响。
四. 如何选择
选择使用套接字地址方式还是端口方式取决于您的具体需求和部署环境。
- 如果您只需要在本地进行进程间通信,并且不需要跨机器通信,那么使用套接字地址方式更为简单和高效。
- 如果您需要在不同机器之间进行通信,或者希望能够通过网络访问 gRPC 服务,那么使用端口方式更为合适。
综上所述,套接字地址方式适用于本地通信,而端口方式适用于跨机器通信。根据您的具体需求和部署环境来选择合适的方式。
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。