当前位置: 首页 > article >正文

springboot使用socket和端口启动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
转载说明:务必注明来源,附带本人博客连接。


http://www.kler.cn/a/271949.html

相关文章:

  • 【FFmpeg】FLV 格式分析 ③ ( Tag Body 数据块体结构 - Vedio Data 视频数据 )
  • go-zero框架基本配置和错误码封装
  • 《机器学习数学基础》补充资料:贝叶斯分类器
  • 2000-2010年各省第三产业就业人数数据
  • c++模板进阶
  • 【JDBC】数据库连接的艺术:深入解析数据库连接池、Apache-DBUtils与BasicDAO
  • 【计算机网络】什么是http?
  • 2.3 性能度量
  • 柔性数组(变长数组)介绍
  • 【C语言】字符函数与字符串函数以及内存函数 { 超详细攻略,一篇学会 }
  • Windows10中配置并使用nvidia-smi
  • jetson nano——编译一些包的网址导航,pyside2,qt(持续更新)
  • Nodejs 第五十六章(爬虫)
  • Android Framework 之 Python
  • LeetCode 每日一题 2024/3/11-2024/3/17
  • 在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?
  • LeetCode每日一题[C++]-310.最小高度树
  • 【SpringCloud微服务实战08】RabbitMQ 消息队列
  • phpqrcode生成二维码
  • ArrayList 源码解析和设计思路
  • python-0008-修改django数据库为mysql
  • Docker入门二(应用部署、迁移与备份、DockerFile、docker私有仓库、Docker-Compose)
  • 泽众云真机-机型支持ADB调试功能即将上线
  • SpringBoot 中配置日期格式
  • springboot/ssm电子印章管理系统Java印章审批信息管理系统web
  • DDos攻击如何被高防服务器有效防范?