Day3-RPC

Day3-RPC

SYuan03 Lv4

Day2-1

RPC的定义

From wiki: 远程过程调用是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序。

可以像调用本地方法一样调用远程方法。

解决跨进程间/远程通信问题。

通信协议

Thrift-一个FaceBook开发的框架

IDL

跨语言,规范性,代码生成

Thrift IDL

基本语法

Field Requiredness

optional required optional

default未赋值也会编码

快速入门-ppt上的使用入门案例复现

第三步,生成服务端代码

1
2
kitex -module github.com/SYuan03/Day3-kitex1 -service nju.dsy.kitex.demo1 ./idl/kitex_greet.thrift
go mod tidy

第四步,生成调用端代码

成功

进阶特性-泛化调用

Day3-随堂练习

1
2
3
4
5
hz new -mod github.com/SYuan03/Day3/HertzServer -idl idl/student.thrift
go mod tidy

kitex -service kitex.demo -module github.go mod tidycom/SYuan03/Day3/KitexServer idl/student.thrift
go mod tidy

Hertz-Server

修改Kitex Server的main.go,配置监听端口,修改 main.go。(Kitex 与 Hertz 默认端口均是 8888,需要修改端口)

修改student.service,用client作一下转发

Kitex-Server

修改main.go

修改handler.go

  • 标题: Day3-RPC
  • 作者: SYuan03
  • 创建于 : 2023-07-12 10:11:40
  • 更新于 : 2024-03-10 19:41:39
  • 链接: https://bblog.031105.xyz/posts/2023-Summer-Courses-CloudWeGo/day3-rpc.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论