新闻详情

新闻详情

首页 / 资讯中心 / 详情

gRPC微服务搭建(学习阶段1:极简服务端客户端)

发布时间:2026/9/30 19:29:44来源:尧图网络
gRPC微服务搭建(学习阶段1:极简服务端客户端)
gRPC 是由 Google 开源的一款高性能、跨语言的远程过程调用RPC框架因为它是目前主流的框架因此博主准备开始学习这个框架并且基于此框架构建一套微服务安装必须的第三方库pip install grpcio文章目录服务端代码客户端代码gRPC的程序分为两个部分一个是服务端一个是客户端这里博主整理了一个简单的示例程序方便学习服务端代码importjsonfromconcurrentimportfuturesimportgrpc# 客户端的请求defsay_hello(request,_context):return{message:fHello,{request[name]}!}# 开始服务端的配置 # 创建 gRPC 服务并使用线程池处理客户端请求。servergrpc.server(futures.ThreadPoolExecutor(max_workers2))# 注册 SayHello 方法同时指定请求和响应的 JSON 转换方式。handlergrpc.unary_unary_rpc_method_handler(say_hello,request_deserializerlambdadata:json.loads(data.decode(utf-8)),response_serializerlambdaresponse:json.dumps(response).encode(utf-8),)# 注册服务名称和方法名称客户端必须使用相同的名称调用。server.add_generic_rpc_handlers((grpc.method_handlers_generic_handler(hello.Greeter,{SayHello:handler}),))# 启动 gRPC 服务监听 50051 端口。server.add_insecure_port([::]:50051)server.start()print(gRPC 服务已启动127.0.0.1:50051)# 阻塞直到主动退出server.wait_for_termination()这里就定义了一个简单的gRPC的服务它启动2个线程注册了一个hello.Greeter的服务名这个服务下有个SayHello的方法唯有方法名对外暴露如果客户端调用这个方法那么它被指引的执行函数是后面的handler客户端代码对应的客户端代码importjsonimportgrpc# 连接地址必须和 server.py 中的端口一致。withgrpc.insecure_channel(127.0.0.1:50051)aschannel:# 指定要调用的服务方法/服务名/方法名。say_hellochannel.unary_unary(/hello.Greeter/SayHello,# 发送请求前Python 字典转换为 JSON 字节。request_serializerlambdadata:json.dumps(data).encode(utf-8),# 收到响应后JSON 字节转换为 Python 字典。response_deserializerlambdadata:json.loads(data.decode(utf-8)),)# 发送名称并获取服务端返回的问候消息。responsesay_hello({name:World})print(response[message])这个客户端便是使用grcp调用之前注册的服务名/方法名的办法并且传入参数进去。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenClaw 华为云部署避坑:TaoToken 统一 Key 接入与 config.toml 骨架 2026/9/30 20:17:24

OpenClaw 华为云部署避坑:TaoToken 统一 Key 接入与 config.toml 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
第08篇-Workspace与上下文文件:AGENTS.md、SOUL.md、SKILL.md 的配置骨架与验证 2026/9/30 20:17:16

第08篇-Workspace与上下文文件:AGENTS.md、SOUL.md、SKILL.md 的配置骨架与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Cursor入门 07:用TaoToken统一Key自由切换大模型 2026/9/30 20:17:09

Cursor入门 07:用TaoToken统一Key自由切换大模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
[智能体-606]:OpenClaw 与 Hermes 多智能体协同配置实战:从 settings.json 到跨框架协同的底层原理 2026/9/30 20:17:01

[智能体-606]:OpenClaw 与 Hermes 多智能体协同配置实战:从 settings.json 到跨框架协同的底层原理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
少走弯路:盘点2026年倾心之选的AI论文写作工具,TaoToken统一Key接入实测 2026/9/30 20:17:01

少走弯路:盘点2026年倾心之选的AI论文写作工具,TaoToken统一Key接入实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
C/C++ 编译器预定义宏速查:MSVC++、clang 与 GCC 的差异对照 2026/9/30 20:16:54

C/C++ 编译器预定义宏速查:MSVC++、clang 与 GCC 的差异对照

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉