51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#LAN
Golang gRPC中间件:拦截器链接,验证,日志记录,重试等
gRPCGo Middleware:interceptors,helpers,utilities.gRPCGo recentlyacquiredsupportforInterceptors,i.e. middleware thatisexecutedeitheronthegRPC...
代码星球
·
2020-10-02
Golang
gRPC
中间件
拦截
链接
golang grpc UnaryServerInterceptor用法
有的时候,当进行grpc调用的时候,并不希望客户端与服务端建立连接后直接就进入对应的方法体内。比如需要验证签名来确认客户端的身份,再执行相应的方法。这个时候就可以哟拿到Interceptor。 拦截器的分类在gRPC中有两种拦截器UnaryInterceptor和StreamInterceptor,其中Una...
代码星球
·
2020-10-02
golang
grpc
UnaryServerInterceptor
用法
golang高性能日志库zap配置示例
zap是uber开源的Go高性能日志库,gitlab地址goget-ugo.uber.org/zap请注意,zap仅支持两个最新的Go版本。简单示例格式化输出packagemainimport("go.uber.org/zap""time")funcmain(){//zap.NewDevelopment格式化输出log...
代码星球
·
2020-10-02
golang
高性能
日志
zap
配置
golang日志框架之logrus
golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世界里,没有一个日志库像slf4j那样在Java中具有绝对统治地位。golang中,流行的日志...
代码星球
·
2020-10-02
golang
日志
框架
logrus
golang删除数组某个元素
golang中对一个slice进行“slice”可以取片段得到一个新的slice,那么如何用简洁的代码删除slice中的一个元素呢?a:=[]int{0,1,2,3,4}//删除第i个元素i:=2a=append(a[:i],a[i+1:]...)作者:krystollia链接:https://...
代码星球
·
2020-10-02
golang
删除
数组
某个
元素
golang用通道实现信号量,控制并发个数
funcmain(){varwgsync.WaitGroupsem:=make(chanstruct{},2)//最多允许2个并发同时执行taskNum:=10fori:=0;i<taskNum;i++{wg.Add(1)gofunc(idint){deferwg.Done()sem<-stru...
代码星球
·
2020-10-02
golang
通道
实现
信号
控制
golang channel 用法
一、Golang并发基础理论Golang在并发设计方面参考了C.A.RHoare的CSP,即CommunicatingSequentialProcesses并发模型理论。但就像JohnGraham-Cumming所说的那样,多数Golang程序员或爱好者仅仅停留在“知道”这一层次,理解CSP理论...
代码星球
·
2020-10-02
golang
channel
用法
Golang gRPC实践 连载一 gRPC介绍与安装
Ahighperformance,opensource,generalRPCframeworkthatputsmobileandHTTP/2first.——gRPCWebsitegRPC 是一个高性能、开源、通用的RPC框架,由Google推出,基于HTTP/2协议标准设计开发,默认采...
代码星球
·
2020-10-02
gRPC
Golang
实践
连载
介绍
Golang gRPC实践 连载三 Protobuf语法
gRPC推荐使用proto3,本节只介绍常用语法,更多高级使用姿势请参考官方文档一个message类型定义描述了一个请求或相应的消息格式,可以包含多种类型字段。例如定义一个搜索请求的消息格式,每个请求包含查询字符串、页码、每页数目。syntax="proto3";messageSearchRequest{stringq...
代码星球
·
2020-10-02
Golang
gRPC
实践
连载
Protobuf
Golang gRPC实践 连载四 gRPC认证
gRPC默认提供了两种认证方式:基于SSL/TLS认证方式远程调用认证方式两种方式可以混合使用这里直接扩展hello项目,实现TLS认证机制首先需要准备证书,在hello目录新建keys目录用于存放证书文件。制作私钥(.key)#Keyconsiderationsforalgorithm"RSA"≥2048-bi...
代码星球
·
2020-10-02
gRPC
Golang
实践
连载
认证
Golang gRPC实践 连载七 HTTP协议转换
正当有这个需求的时候,就看到了这个实现姿势。源自coreos的一篇博客,转载到了grpc官方博客gRPCwithRESTandOpenAPIs。etcd3改用grpc后为了兼容原来的api,同时要提供http/json方式的API,为了满足这个需求,要么开发两套API,要么实现一种转换机制,他们选择了后者,而我们选择跟...
代码星球
·
2020-10-02
Golang
gRPC
实践
连载
HTTP
Golang gRPC实践 连载六 内置Trace
grpc默认提供了客户端和服务端的trace日志,可惜没有提供自定义接口,当前只能查看基本的事件日志和请求日志,对于基本的请求状态查看也是很有帮助的,客户端与服务端基本一致,这里已服务端开启trace为例,修改hello项目的server代码:server/main.gopackagemainimport("net""...
代码星球
·
2020-10-02
Golang
gRPC
实践
连载
内置
Golang gRPC实践 连载五 拦截器 Interceptor
grpc服务端提供了interceptor功能,可以在服务端接收到请求时优先对请求中的数据做一些处理后再转交给指定的服务处理并响应,功能类似middleware,很适合在这里处理验证、日志等流程。在自定义Token认证的示例中,认证信息是由每个服务中的方法处理并认证的,如果有大量的接口方法,这种姿势就太蛋疼了,每个接口...
代码星球
·
2020-10-02
Golang
gRPC
实践
连载
拦截
golang安装gRpc 报错
golang安装gRpc安装官方安装命令:gogetgoogle.golang.org/grpc是安装不起的,会报:package google.golang.org/grpc:unrecognizedimportpath"google.golang.org/grpc"(httpsfetch:Get ...
代码星球
·
2020-10-02
golang
安装
gRpc
报错
golang-protobuf使用
什么是protobuf?Protocolbuffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML、json相比,Protocolbuffers序列化后的码流更小、速度更快、操作更简单。安装protoc工具proto用来将.proto文件转化为自己使用的语言格式,我使用的是go语言,所以还要...
代码星球
·
2020-10-02
golang-protobuf
使用
首页
上一页
...
16
17
18
19
20
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他