基于Ocelot的gRpcHttp网关
Posted kingreatwill
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Ocelot的gRpcHttp网关相关的知识,希望对你有一定的参考价值。
什么是gRpcHttp网关
通俗的讲就是将gRpc提供的服务以rest api的形式提供出去,不需要再单独的写一个webapi去做这件事。
gRpcHttp网关好处
减少不必要代码,减少中间层提高通讯效率。
以前可能是这样
用了gRpc网关后是这样
gRpcHttp网关提供哪些功能
- 可以直接加载proto生成的dll文件
- 可以只需要proto文件,自动解析出proto文件所提供的model和service
- 支持header转发
- 支持gRpc的四种模式
- 支持gRpc中间件
- 支持swagger(开发中)
- 支持proto和dll文件动态新增,不需要重启网关
Getting Started
- git clone https://github.com/BuiltCloud/Ocelot.GrpcHttpGateway.git
- cd Ocelot.GrpcHttpGateway/src
- cd samplesOcelotGateway and dotnet run
- cd samplesExamples.GrpcServer and dotnet run
- copy Examples.GrpcModels.dll to samplesOcelotGatewayinDebug etcoreapp2.1plugins
- curl http://localhost:5000/grpc/PLAYERSEARCH/SEARCHTEAM
- curl http://localhost:5000/grpc/PLAYERSEARCH/SearchPlayer_ServerStream
- curl http://localhost:5000/grpc/PLAYERSEARCH/SearchPlayer_ClientStream
- curl http://localhost:5000/grpc/PLAYERSEARCH/SearchPlayer_DuplexStream
- curl http://localhost:5000/srv 查看当前服务和方法
你还可以复制.proto文件到Examples.GrpcModels.dll to samplesOcelotGatewayinDebug
etcoreapp2.1protos目录
查看http://localhost:5000/srv变化
Github
https://github.com/BuiltCloud/Ocelot.GrpcHttpGateway
以上是关于基于Ocelot的gRpcHttp网关的主要内容,如果未能解决你的问题,请参考以下文章
Ocelot.JwtAuthorize:一个基于网关的Jwt验证包
.Net Core 基于Ocelot + IdentityServer4 + Eureka的搭建高性能网关介绍