你了解微服务的超时传递吗?
摘要:为什么需要超时控制? 很多连锁故障的场景下的一个常见问题是服务器正在消耗大量资源处理那些早已经超过客户端截止时间的请求,这样的结果是,服务器消耗大量资源没有做任何有价值的工作,回复已经超时的请求是没有任何意义的。 超时控制可以说是保证服务稳定性的一道重要的防线,它的本质是快速失败(fail fast
阅读全文
posted @
2021-10-18 10:58
万俊峰Kevin
阅读(752)
推荐(0) 编辑
多图详解万星 Restful 框架原理与实现
摘要:本文带你完整理解万星微服务框架 go-zero 的 restful 框架的实现原理和使用方法。
阅读全文
posted @
2021-10-11 07:50
万俊峰Kevin
阅读(701)
推荐(0) 编辑
定制个机器人帮你和Ta聊天
摘要:chatbot 是一个通过已知对话数据集快速生成回答的 Go 问答引擎。国庆假期,我有点空闲时间,所以就把这个项目整理了开源出来,一是给大家一个实际的 go-zero 的 MapReduce 示例;二是也提供大家一个闲聊机器人的项目玩玩。
阅读全文
posted @
2021-10-08 08:44
万俊峰Kevin
阅读(1767)
推荐(2) 编辑
高可用延迟队列设计与实现
摘要:延迟队列:一种带有 延迟功能 的消息队列
延时 → 未来一个不确定的时间
mq → 消费行为具有顺序性
这样解释,整个设计就清楚了。你的目的是 延时,承载容器是 mq。
阅读全文
posted @
2021-09-22 07:58
万俊峰Kevin
阅读(1211)
推荐(0) 编辑
服务注册与发现的原理和实现
摘要:什么是服务注册发现? 对于搞微服务的同学来说,服务注册、服务发现的概念应该不会太陌生。 简单来说,当服务A需要依赖服务B时,我们就需要告诉服务A,哪里可以调用到服务B,这就是服务注册发现要解决的问题。 Service B 把自己注册到 Service Registry 叫做 服务注册 Service
阅读全文
posted @
2021-09-12 23:16
万俊峰Kevin
阅读(2169)
推荐(1) 编辑
自适应负载均衡算法原理与实现
摘要:背景 在选择负载均衡算法时,我们希望满足以下要求: 具备分区和机房调度亲和性 每次选择的节点尽量是负载最低的 每次尽可能选择响应最快的节点 无需人工干预故障节点 当一个节点有故障时,负载均衡算法可以自动隔离该节点 当故障节点恢复时,能够自动恢复对该节点的流量分发 基于这些考虑,go-zero 选择了
阅读全文
posted @
2021-08-18 11:39
万俊峰Kevin
阅读(1226)
推荐(1) 编辑