springboot使用socket和端口启动gRPC服务器的比较

举报
神的孩子在歌唱 发表于 2024/03/17 22:31:43 2024/03/17
【摘要】 gRPC 服务器启动方式比较前言这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。作者:神的孩子都在歌唱 一. 介绍百度百科套接字gRPC 是一种高性能的远程过程调用(RPC)框架,它支持多种编程语言和通信协议。在使用 gRPC 启动服务器时,您可以选择使用套接字地址或端口进行通信。由于我公司的项目是由几个服务组成的,每个服务都是由不同的语言编写,为了方便跨语言通...

gRPC 服务器启动方式比较

前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱

一. 介绍

百度百科套接字

gRPC 是一种高性能的远程过程调用(RPC)框架,它支持多种编程语言和通信协议。在使用 gRPC 启动服务器时,您可以选择使用套接字地址或端口进行通信。

由于我公司的项目是由几个服务组成的,每个服务都是由不同的语言编写,为了方便跨语言通信,就选择了grpc。由于都是在同一个机器上的,为了加快通信效率,我们选择了套接字socket进行通信。接下来解释一下socket和端口两种方式的区别。

二. 套接字地址方式

套接字地址方式使用 Unix 域套接字(Unix Domain Socket)进行通信。通过指定套接字文件的路径,可以在本地进行进程间通信。

springboot的yml示例配置:

grpc:
  server:
    address: unix:///com/test_haha.sock

优点:

  • 本地通信:适用于同一台机器上的进程间通信。
  • 高效性:避免了网络传输的开销,通信速度快。

缺点:

  • 局限性:只能在同一台机器上进行通信,不适用于跨机器通信。

image-20231128174232502.png

三. 端口方式

端口方式使用指定的端口号进行通信,通过网络进行跨机器的进程间通信。

springboot的yml示例配置:

grpc:
  server:
    port: 9091

优点:

  • 跨机器通信:适用于不同机器之间的进程通信。
  • 网络访问:可以通过网络访问 gRPC 服务。

缺点:

  • 网络传输延迟:可能受到网络传输延迟和带宽等因素的影响。

四. 如何选择

选择使用套接字地址方式还是端口方式取决于您的具体需求和部署环境。

  • 如果您只需要在本地进行进程间通信,并且不需要跨机器通信,那么使用套接字地址方式更为简单和高效。
  • 如果您需要在不同机器之间进行通信,或者希望能够通过网络访问 gRPC 服务,那么使用端口方式更为合适。

综上所述,套接字地址方式适用于本地通信,而端口方式适用于跨机器通信。根据您的具体需求和部署环境来选择合适的方式。

作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。