Tags

keep simple,keep naive
gRPC

Consul 服务治理的那些事(二)

Consul 的细节梳理


gRPC 应用篇之客户端 Connection Pool(未完成)

连接池的实现分析 && 我们是否需要 Tcp/gRPC 客户端连接池?


gRPC 客户端长连接机制实现及 keepalive 分析

如何实现针对 gRPC 客户端的自动重连机制


gRPC 微服务构建之链路追踪(OpenTracing)

在 gRPC 服务中应用 OpenTracing:使用 Zipkin 和 Jaeger 进行路追踪


gRPC 知识点备忘录(持续更新)


gRPC 微服务构建之日志(Logging)

使用 gRPC 日志拦截器记录


gRPC Interceptor:go-grpc-middleware 介绍与使用

优秀的 gRPC 开源中间件实现:go-grpc-middleware


gRPC 中的 Metadata


gRPC 应用篇之自带组件


gRPC 应用篇之 Resolver 接口封装

如何封装 gRPC 的 Resolver(Kratos)


gRPC 源码分析之 Picker 篇

gRPC 客户端选择器实现分析


gRPC 源码分析之官方 Picker 实现

gRPC 客户端选择器分析(Picker With RoundRobin)


gRPC 源码分析之 Balancer 篇

gRPC 客户端平衡器分析


gRPC 之 Interceptor 实战篇

如何优雅的使用 gRPC 拦截器


gRPC 源码分析之 DnsResolver 篇

如何使用内置的 DNS 负载均衡器


gRPC 源码分析之 Resolver 篇

gRPC 客户端解析器实现分析


Kubernetes 应用改造(一):Headless Service

使用 gRPC+Headless-Service 构建后端服务


Consul 服务治理的那些事(一)

使用 gRPC+Consul 构建高可用的后端服务


基于 gRPC 的服务发现与负载均衡(基础篇)

gRPC 负载均衡架构分析


Golang

Golang httprouter 库分析

高效的路由框架 httprouter 分析


Golang 并发协程池实现分析(三)

分析 Ants 协程池实现


在 Golang 中实现 Openssl 的 AES-CBC-256 算法(With Salt)


Confd 使用 && 源码分析

Confd 源码分析:强大的动态配置更新(基于 etcdv3/redis 存储)


Golang 并发协程池实现分析(二)

分析 Fasthttp 的 goroutine pool


Golang 并发协程池实现分析(一)

分析一款非常典型的 goroutine pool 实现


Golang 标准库:net/http(未完成)

net/http 源码分析


Golang TCP 并发服务器框架:Zinx

一个基于 Golang 轻量级 TCP 并发服务器框架分析


一个轻量级的 golang 协程池的实现

使用 Golang-channel 实现工作池:批量并发处理


基于 Golang 实现的定时器分析与实现(未完成)

Timer and Ticker: events in the future


Golang 并发模型:Pipelines and cancellation

Channel 的经典应用


Golang 并发模型:Pipelines and cancellation

Channel 的经典应用


开源限流组件分析(二):Golang-time/rate 限速算法实现分析

分析 Golang 标准库提供的令牌桶限流器


Golang 中网络编程开源项目汇总

我们可以从开源项目中学习到什么(二)


GOMAXPROCS 的坑

容器环境中使用 runtime.GOMAXPROCS 需谨慎


使用 Golang 开发 generator(生成器)

生成器:一种程序逻辑优化的思路


Golang 的 Channel(应用篇)

如何使用 channel 开发有保证的应用


Golang Slice 那些事

Slice 最佳实践


神奇的 Golang-IO 包


Golang 中有趣的后台项目汇总

我们可以从开源项目中学习到什么?


Kratos

Kratos 源码分析:Tracing (二)

分析 Kratos 的 opentracing 实现:应用


Kratos 源码分析:Tracing (一)

分析 Kratos 的 opentracing 实现:概念与数据结构抽象


Kratos 源码分析:CGI 框架 BM (四)

分析基于 gin 改造的框架 blademaster:路由树构造算法


Kratos 源码分析:CGI 框架 BM (三)

分析 CGI 框架 blademaster:路由


Kratos 源码分析:CGI 框架 BM (二)

分析 blademaster 中的拦截器实现及设计


Kratos 源码分析:CGI 框架 BM (一)

分析基于 gin 改造的框架 blademaster:基础


GoIM 源码分析:Comet(一)

分析基于 GoIM 对外服务模块 Comet


Kratos 源码分析:Warden 负载均衡算法之 P2C

分析 Warden 实现的负载均衡算法 P2C(Power of Two Choices)


Kratos 源码分析:Metrics 与 Prometheus 的集成与使用

分析 Kratos 的数据指标采集与使用


Kratos 源码分析:Warden 之 gRPC-Server 封装

分析 Warden 的 Server 端封装


Kratos 源码分析:Warden 之 gRPC-Client 封装

分析 Warden 的 Client 端封装


Kratos 源码分析:Errgroup 机制

分析原生的 errgroup 即 Kratos 的 errgroup


Kratos 源码分析:Hbase 库封装

分析 Kratos 的 Hbase Client:How to Hook?


Kratos 源码分析:Naming 解析(下)

分析 Warden 中对 Naming 的调用及实例应用


Kratos 源码分析:熔断器 Breaker

分析 Kratos 的熔断器实现


Kratos 源码分析:限流器 Limiter

分析 Kratos 的 BBR 限流器实现


Kratos 源码分析:Ecode 错误代码

分析 Kratos 的 Error-code


Kratos 源码分析:ORM 之 Mysql 的封装

分析 Kratos 的数据库 MYSQL-API


Kratos 源码分析:超时(Timeout)传递

Context 的用法:Warden/Database 中的超时传递实现分析


Kratos 源码分析:Warden 中的 gRPC validator

分析 Kratos 的 gRPC 中的字段验证器


Kratos 源码分析:Naming 解析(上)

分析 Naming 的多消费者订阅 - Watcher 模式


Kratos 源码分析:Kratos 中的 Metadata 元数据

一种全局变量的存储方式:Metadata


Kratos 源码分析:Lazy Load Container

分析 Kratos 的懒对象容器及应用场景


Kratos 源码分析:gRPC-Warden 拦截器(链)及实现

Kratos 框架分析


Kratos 源码分析:理解 Kratos 的数据统计类型 Metrics(二)

分析 Kratos 框架中的 Metrics:LB 算法中的应用


Kratos 源码分析:计划

分析微服务开发框架 Kratos


Kratos 源码分析:理解 Kratos 的数据统计类型 Metrics(一)

分析 Kratos 框架中的 Metrics:滑动窗口


Kratos 源码分析:分析 Warden 框架 Dynamic-WRR 负载均衡算法的实现

Warden 框架中的 WRR 算法代码分析