Go微服务三 Go-RPC

      最后更新:2022-03-21 06:59:10 手机定位技术交流文章

      RPC

      一、什么是RPC?

      • 远程进程呼叫(远程进程呼叫,RPC)是一个计算机通信机制。

      • 协议允许一台计算机申请调用另一台机器。

      • 如果所涉软件是面向目标的,远程电话也可以称为远程电话或远程电话。

      二,去完成RPC

      2.1 如何实现

      • Go使用官方的 Nei/rpc 软件包进行编码/gob 数据传输,并且由于其他语言不支持 gob 编码,gorpc 只提供访问服务与客户之间的互动。
      • 但是,也可以正式进入网络/Rpc/jsonrpc图书馆,Jsonrpc将数据编码为json格式,从而方便了跨语种通话。 Jsonrpc目前以TCP协议为基础,不适合HTTP传输。

      2 Go写了RPC和为使用它必须满足的四项要求。

      • 结构字段首字母必须资本化,并可由他人参考。
      • 函数名称必须资本化,以首字母缩写开头。
      • 函数的第一个参数是收件人参数,第二个参数是返回客户端的参数,这两个参数必须与针头类型相对应。
      • 函数也必须提供错误返回值。

      2.3.3 RPC呼叫程序

      • 内部区域方案中心和外部区域资源审查是微观服务统计方面最常见的数据交换。

      • 将应用程序拆卸成基于业务限制的服务,从而减少连接。

      • 个人服务独立运作,通过网络相互沟通。

      2号RPC服务器

      • 服务器接收请求的函数名称、参数列表和返回值。
      • 服务端的主要职责是维护功能地图,接受客户的论据,分析相关逻辑,包装功能返回客户价值。

      2.5 区域常委会-实现了TCP和HTTP支助,但没有提供跨语言支助。

      Example:

      server.go

      client.go

      2.6 jsonrpc - 完成 - 支持 tcp, 跨语言, 但不是 http

      因为rpc只能与Go开发的服务连接,jsonrpc被用来制作跨语种的rpc。

      Example:

      server.go

      client.go

      php 客户端向服务器发送请求

      2.7 Protorpc - 已达到 - 支持 tcp 和 http, 跨语言支持

      安装: Mac64 下载 URL

      未按下下载 。 (个人将文件原型重新命名为 protoc-3. Five. 0- osx 并将其移至用户和目录/用户/cc)

      前往您的工程目录, 并安装与 原药相关的图书馆 。

      在这里插入图片描述

      Nota bene:安装包实施错误

      1. 现在必须前往谷歌, 以拉动原生原生。 Org/protobuf拉动,
      2. 我用的是GO1,第17版使用安装依赖性。所以应该按以下方式进行拉动。现在安装 pkg@version pkg@version 。

      把上面的命令改为:

      创建 。 成功安装后 proto 文件 。

      pb/Arith.proto

      运行 protoc-go_out =./pb_out =./pb_to } 运行 protoc-go_out =./pb_to } / pb/arith. proto 。

      这一切都归结到环境因素。

      在这里插入图片描述

      溶解: vim /.zshrc( 我使用 Zsh, 自修改), 更改源 /.zshrc 命令, 重新启动 iterm2 或想法 。

      在这里插入图片描述

      再次运行 protoc-go_out =./pb_out =./pb_to } 运行 protoc-go_out =./pb_to } / pb/arith. proto 。 , 在pb目录下生成了arith.pb.go文件

      基于生成的arith.pb.go我们要用密码获得一个速记服务器

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20571.html

          热门文章

          文章分类