2021年9月12日
摘要: 什么是服务注册发现? 对于搞微服务的同学来说,服务注册、服务发现的概念应该不会太陌生。 简单来说,当服务A需要依赖服务B时,我们就需要告诉服务A,哪里可以调用到服务B,这就是服务注册发现要解决的问题。 Service B 把自己注册到 Service Registry 叫做 服务注册 Service 阅读全文
posted @ 2021-09-12 23:16 Kevin Wan 阅读(310) 评论(0) 推荐(1) 编辑
  2021年9月12日
摘要: 什么是服务注册发现? 对于搞微服务的同学来说,服务注册、服务发现的概念应该不会太陌生。 简单来说,当服务A需要依赖服务B时,我们就需要告诉服务A,哪里可以调用到服务B,这就是服务注册发现要解决的问题。 Service B 把自己注册到 Service Registry 叫做 服务注册 Service 阅读全文
posted @ 2021-09-12 23:16 Kevin Wan 阅读(310) 评论(0) 推荐(1) 编辑
  2021年8月25日
正文内容加载中...
posted @ 2021-08-25 10:11 Kevin Wan 阅读(453) 评论(0) 推荐(2) 编辑
  2021年8月18日
摘要: 背景 在选择负载均衡算法时,我们希望满足以下要求: 具备分区和机房调度亲和性 每次选择的节点尽量是负载最低的 每次尽可能选择响应最快的节点 无需人工干预故障节点 当一个节点有故障时,负载均衡算法可以自动隔离该节点 当故障节点恢复时,能够自动恢复对该节点的流量分发 基于这些考虑,go-zero 选择了 阅读全文
posted @ 2021-08-18 11:39 Kevin Wan 阅读(321) 评论(0) 推荐(1) 编辑
  2021年7月20日
摘要: 在 go-zero 的分布式缓存系统分享里,Kevin 重点讲到过一致性hash的原理和分布式缓存中的实践。本文来详细讲讲一致性hash的原理和在 go-zero 中的实现。 以存储为例,在整个微服务系统中,我们的存储不可能说只是一个单节点。 一是为了提高稳定,单节点宕机情况下,整个存储就面临服务不 阅读全文
posted @ 2021-07-20 11:14 Kevin Wan 阅读(371) 评论(1) 推荐(0) 编辑
  2021年7月14日
摘要: 在 Golang 中的 map 结构,在删除键值对的时候,并不会真正的删除,而是标记。那么随着键值对越来越多,会不会造成大量内存浪费? 首先答案是会的,很有可能导致 OOM,而且针对这个还有一个讨论:https://github.com/golang/go/issues/20135。大致的意思就是在 阅读全文
posted @ 2021-07-14 11:13 Kevin Wan 阅读(43) 评论(0) 推荐(1) 编辑
  2021年6月7日
摘要: 在重启过程中,会有一段时间不能给用户提供正常服务;同时粗鲁关闭服务,也可能会对业务依赖的数据库等状态服务造成污染。 所以我们服务重启或者是重新发布过程中,要做到新旧服务无缝切换,同时可以保障变更服务 零宕机时间! 阅读全文
posted @ 2021-06-07 13:20 Kevin Wan 阅读(525) 评论(0) 推荐(0) 编辑
  2021年6月1日
摘要: 前言 go-zero 群里经常有同学问: 服务监控是通过什么算法实现的? 滑动窗口是怎么工作的?能否讲讲这块的原理? 熔断算法是怎么设计的?为啥没有半开半闭状态呢? 本篇文章,来分析一下 go-zero 中指标统计背后的实现算法和逻辑。 指标怎么统计 这个我们直接看 breaker : type g 阅读全文
posted @ 2021-06-01 07:57 Kevin Wan 阅读(335) 评论(0) 推荐(1) 编辑
  2021年5月31日
摘要: RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议。我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点,常见的选型有哪些? 1. RPC是什么 RPC可以分为两部分:用户调用接口 + 具体网络协议。前者为 阅读全文
posted @ 2021-05-31 09:35 Kevin Wan 阅读(814) 评论(0) 推荐(4) 编辑
  2021年5月26日
摘要: 前言 群里老有同学问,go-zero 的 数据库 和 redis 库是否有连接池支持。先说结论:有的,可以放心大胆用! 从框架设计来说,对于数据库连接这种资源当然是尽可能减少频繁操作: 为业务减负 提升框架自身的性能 池化技术是一个通用化技术,本身就应该作为一个通用库支撑框架的上层业务 所以不管是 阅读全文
posted @ 2021-05-26 08:35 Kevin Wan 阅读(269) 评论(0) 推荐(0) 编辑
  2021年5月24日
摘要: Previously 前两篇文章(缓存稳定性 和 缓存正确性)跟大家讨论了缓存的『稳定性』和『正确性』,缓存常见问题还剩下『可观测性』和『规范落地&工具建设』 稳定性 正确性 可观测性 规范落地和工具建设 上周文章发完之后,很多同学对我留的问题进行了深入的讨论,我相信经过深度的思考,会让你对缓存一致 阅读全文
posted @ 2021-05-24 08:58 Kevin Wan 阅读(319) 评论(0) 推荐(1) 编辑