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-09-30 20:52:01
  • 链接: https://bblog.031105.xyz/posts/2023-Summer-Courses-CloudWeGo/day3-rpc.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
Nickname
Email
Website
0/500
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文字
  • Emoji
  • Bilibili
0 comments
No comment