GRPC开发跨多语言的web服务
GRPC开发跨多语言的web服务
InterestingFigure
Salted fish in hand, I have the world.
展开
-
grpc报错
1.消息体太小error: “grpc: received message larger than max (6115095 vs. 4194304)”message: “grpc: received message larger than max (6115095 vs. 4194304)”s := grpc.NewServer(grpc.MaxMsgSize(size), grpc.Ma...原创 2020-01-20 10:34:51 · 521 阅读 · 0 评论 -
浅谈微服务中的熔断,限流,降级
简介golang的熔断包hystrixgolang 提供了拓展库(golang.org/x/time/rate)提供了限流器组件,提供了 Token bucket (令牌桶算法)在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题...原创 2020-01-02 10:46:00 · 1345 阅读 · 1 评论 -
GRPC开发(9)-grpc服务开发-grpc-gateway的中间件
其实grpc的中间件和编写http的中间件一样http服务处理器:Handler定义type Handler interface { ServeHTTP(ResponseWriter, *Request)}http服务,最重要的就是处理器:Handler ,一个接口我们需要定义一个处理器,实现ServeHTTP方法用来响应HTTP请求下面是对处理器:Handler 的介绍S...原创 2019-07-09 17:37:52 · 2244 阅读 · 1 评论 -
GRPC开发(8)-grpc服务开发-截取器
截取器截取器可以对grpc server做一些例如验证、log等前置操作s := grpc.NewServer(grpc.UnaryInterceptor(filter))grpc-ecosystem项目中的链式截取器的支持不过GRPC框架中只能为每个服务设置一个截取器,因此所有的截取工作只能在一个函数中完成。开源的grpc-ecosystem项目中的go-grpc-middleware...原创 2019-07-09 16:12:09 · 594 阅读 · 0 评论 -
GRPC开发(7)-grpc-gateway(同时提供http服务的grpc服务)
这里有grpc环境搭建的完整过程,grpc+grpc-gateway环境搭建不过如果你是按照这个"GRPC开发"流程看到这里的话,基本环境应该搭建完成了,那就不需要看上面的连接了,我直接给出 grpc-dateway的安装即可Grpc-gateway安装cd $GOPATH/src/google.golang.orggit clone https://github.com/google/...原创 2019-07-09 15:32:43 · 1961 阅读 · 0 评论 -
GRPC开发(6)-nginx对grpc的代理和负载均衡
这个文章是nginx代理和负载均衡没有证书的grpc服务的简单介绍:[不带证书的nginx对不带证书的grpc服务的代理和负载均衡](https://blog.csdn.net/Edu_enth/article/details/94750731)下面是对带安全证书的grpc服务代理和负载的完整介绍,可以直接使用:1.nginx安装配置(centos7)一:Nginx和依赖包 Ng...原创 2019-07-09 14:35:08 · 1765 阅读 · 0 评论 -
GRPC开发(5)-grpc服务开发-带证书才是安全的服务
cd ~/goproject/grpcpro项目中,server、client、protoc、cert目录都是并列的,go mod的模块是grpcpro改造server.go把s := grpc.NewServer()改成creds, err := credentials.NewServerTLSFromFile("…/cert/server.crt", “…/cert/server....原创 2019-07-09 13:50:32 · 1322 阅读 · 6 评论 -
GRPC开发(4)-grpc服务开发-创建证书
ca.key 生成CA自己的私钥 rootCA.key# openssl genrsa -out ca.key 2048ca.crt根据CA自己的私钥生成自签发的数字证书,该证书里包含CA自己的公钥。 rootCA.pem# openssl req -x509 -new -nodes -key ca.key -subj "/CN=grpcpro1.com" -days 5000 -ou...原创 2019-07-09 13:27:56 · 781 阅读 · 0 评论 -
GRPC开发(3)-grpc服务开发(无证书)
一个完整的grpc项目包括:proto文件、grpc-server、grpc-client1.创建项目# mkdir -p ~/goproject/grpcpro# cd ~/goproject/grpcpro# go mod init grpcpro替换被墙的依赖源vim go.mod追加replace ( cloud.google.com/go => github.co...原创 2019-07-09 12:57:35 · 633 阅读 · 0 评论 -
GRPC开发(2)-golang1.12安装grpc环境
1.grpc installmkdir google.golang.orgcd google.golang.org/git clone https://github.com/grpc/grpc-gomv grpc-go/ grpc/2.编译器插件 Protoc Plugingo get -v -u github.com/golang/protobuf/protoc-gen-goc...原创 2019-07-09 11:26:56 · 395 阅读 · 0 评论 -
GRPC开发(1)-golang1.12安装
golang安装环境centos7.3 ,管理员:root root的home目录:/root# cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core)为了使用go mod,选择最新版本1.12https://studygolang.com/dl创建个下载目录(下面使用~,主要为了强调是当前用户的home目录下)...原创 2019-07-09 10:51:41 · 525 阅读 · 0 评论