Skip to content

jangocheng/App.GRPCDemo.NetCore

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App.GRPCDemo.NetCore

通过grpc实现微服务,在Centos 7、docker中进行测试,hosting grpc 服务 测试时,防火墙需要开放相应端口

1.配置packages\Grpc.Tools\1.0.0\tools\windows_x64\protoc.exe环境变量 开始运行cmd,转到 App.RPCDemo\proto 目录运行 --plugin=protoc-gen-grpc 值为grpc_csharp_plugin.exe文件的路径

protoc.exe --csharp_out=d:\grpcdemo\code\ --grpc_out=d:\grpcdemo\code\ --plugin=protoc-gen-grpc=yourpath.nuget\packages\Grpc.Tools\1.0.0\tools\windows_x64\grpc_csharp_plugin.exe result.proto protoc.exe --csharp_out=d:\grpcdemo\code\ --grpc_out=d:\grpcdemo\code\ --plugin=protoc-gen-grpc=yourpath.nuget\packages\Grpc.Tools\1.0.0\tools\windows_x64\grpc_csharp_plugin.exe RPCDemoService.proto

把生成的文件copy到App.RPCDemo工程下

2.部署过程

App.RPCDemoServer 服务端,参数说明 host:主机ip 地址,默认0.0.0.0 port:开放端口,默认9007

部署过程,发布程序,运行: dotnet App.RPCDemoServer.dll host=192.168.4.37 port=9007 centos 7.2 下,也可以在windows 下运行

[demo@node139 App.RPCDemoServer]$ dotnet App.RPCDemoServer.dll host=192.168.190.139 port=9007
Google Grpc Starting
RPC server 192.168.190.139 listening on port 9007
Rpc Service started. Press Ctrl+C to shut down.

App.RPCDemoClient 客户端,循环2次,测试两调用所需要的时间,参数说明 host:主机ip 地址,默认0.0.0.0 port:开放端口,默认9007 repeat:重复调用次数

[demo@node139 App.RPCDemoClient]$ dotnet App.RPCDemoClient.dll host=192.168.190.139 port=9007 repeat=100

3.docker 下测试 跳转到App.RPCDemoServer项目路径下

[demo@node139 App.RPCDemoServer]$ docker build -t grpcemoserver .
Sending build context to Docker daemon 23.67 MB
Step 1 : FROM microsoft/dotnet:1.0.1-runtime
 ---> c0a30708437a
Step 2 : COPY . /publish
 ---> Using cache
 ---> dad7441480f3
Step 3 : WORKDIR /publish
 ---> Using cache
 ---> 11429a59af07
Step 4 : EXPOSE 9007
 ---> Using cache
 ---> 517b063e476c
Step 5 : CMD dotnet App.RPCDemoServer.dll
 ---> Using cache
 ---> db2c0debde34
Successfully built db2c0debde34

运行这个images,docker run 或docker service
[demo@node139 App.RPCDemoServer]$ docker run --name rcpdemo -d -p 9008:9007 grpcemoserver
b37db4b39a92256504dbe3a681d096782846bd60809f4442484c0a896067381d
[demo@node139 App.RPCDemoServer]$ docker ps -a | grep grpc
b37db4b39a92        grpcemoserver       "dotnet App.RPCDemoSe"   13 seconds ago      Up 7 seconds        0.0.0.0:9008->9007/tcp   rcpdemo

在打开一个窗口运行:
[demo@node139 App.RPCDemoClient]$ dotnet  App.RPCDemoClient.dll host=192.168.190.139 port=9008 repeat=100

About

.net core grpc service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 64.3%
  • PowerShell 34.3%
  • HTML 1.2%
  • Other 0.2%