关键指标
稳定性
熔断:一个服务A调用服务B时,服务B的业务逻辑又调用了服务C,而此时服务C响应超时了,由于服务B依赖于服务C,C超时导致B的业务逻辑一直在等待,而此时A继续频繁的调用服务B,服务B可能因为堆积大量请求而导致服务宕机,由此导致服务器雪崩。 保护调用方,防止被调用的服务出现问题影响整个链路
限流:当调用端发送请求时,服务端在执行逻辑业务之前先执行检查限流逻辑,如果发现访问量过大并且超出了限流范围,让服务端直接降级处理或者返回调用端一个限流异常。 保护被调用方,防止大流量把服务压垮
超时控制:当下游的服务因为某种原因响应过慢,下游服务主动停掉一些不太重要的业务,释放出服务器资源,避免资源浪费。 避免浪费资源在不可用节点上
易用性
开箱即用
周边工具
扩展性
观测性
高性能
企业实践
整体架构
自研网络库
- 解决无法感知连接状态问题
- 解决goroutine暴涨的风险
- 提升性能
扩展性设计
性能优化
网络库优化
- 调度优化
- LinkBuffer
- Pool
解编码优化
- Codegen
- JIT