Grpc工具buf.build使用

转载请注明来源:https://janrs.com/iclb 文件以及目录的总体结构如下: userservice ├── Makefile ├── buf.gen.yaml ├── buf.work.yaml ├── cmd │   ├── main.go │   └── server │   ├── grpc.go │   ├── http.go │   ├── run.go │   ├──

Golang Grpc 高级使用 – Deadlines, Cancellation, Error Handling, Multiplexing

点击 | 我的GitHub 转载请注明来源:https://janrs.com/xag1 超时是分布式系统中常用的一种模式。尽管截止日期与超时相似,但对于gRPC来说,有一个关键的区别。超时是一个选项,让客户决定他们愿意等待服务器响应的时间,并且是在每个客户端本地应用。因此,它不可能在gRPC请求的整个生命周期内应用。这就是为什么我们需要使用截止日期。 超时允许你在微服务架构中避免无

istio实现多版本流量转移

多版本流量分发主要概念:同一个服务部署多个 deployment 共用一个 service 。通过在 deployment 设置 version 然后在 virtual service 以及 destination 配置流量转发。 apiVersion: apps/v1 kind: Deployment metadata: name: hello-client namespace: rakour-

用GoRoutines高性能同时进行多个Api调用

点击 | 我的GitHub 转载请注明来源:https://janrs.com/ppzi Golang是高效的,非常高效。这种效率在很大程度上要归功于它在处理并发性问题时的独特抽象。例如,Java将其线程映射为操作系统线程,而Go使用自己的goroutines调度器将其轻量级goroutines从操作系统线程中进一步抽象出来。简而言之,Golang在使用操作系统线程方面非常节俭;如果

Go创建Grpc链接池

点击 | 我的GitHub 转载请注明来源:https://janrs.com/x0gn gRPC 四种基本使用 请求响应模式 客户端数据流模式 服务端数据流模式 双向流模式 常见的gRPC调用写法 func main(){ //... some code // 链接grpc服务 conn , err := grpc.Dial(":8000",grpc.WithI

k8s部署prometheus/grafana

K8S部署prometheus以及grafana 并且使用Ingress对外访问 Ingress Nginx Controller 的安装教程地址:(https://janrs.com/2023/02/k8s%e9%83%a8%e7%bd%b2ingress-controller/) 转载请注明出处:https://janrs.com k8s部署prometheus以及grafana