12,043
社区成员
发帖
与我相关
我的任务
分享gRPC的服务器可能部署在 Internet 云端,那么客户机与服务器之间的明文通信存在安全隐患,gRPC提供了SSL/TLS方式对传输的数据进行加密是必要的。
下面用实例代码呈现这个过程:
## 准备工作
事先准备好 root,private, 以及chain证书。 把 private.pem 与 chain.pem 拷贝到服务器。证书可以采用OpenSSL自签名来生成(请自行百度),或者到网上证书机构申请CA证书。
## gRPC 客户端
```python
import grpc
import helloworld_pb2
with open('roots.pem', 'rb') as f:
creds = grpc.ssl_channel_credentials(f.read())
channel = grpc.secure_channel('myservice.example.com:443', creds)
stub = helloworld_pb2.GreeterStub(channel)
更多,请点击阅读
如果数据量比较大用RESTFul,WebSocket 性能都比gRPC差了很多, 用 python 写gRPC的服务端与客户端,总体性能还是不错的,如果gRPC服务端是其它语言写的,用 python写 gRPC 客户端。 由于gRPC的应用,对整个系统的性能提升还是很明显的,让python在微服务架构中可能发挥更大作用,特别是python的异步gRPC功能在中低端机器上的性能表现反而比其它语言有优势。 因此gRPC对python在企业应用上的推广有很大的作用。