2021年6月1日
摘要:
前言 go-zero 群里经常有同学问: 服务监控是通过什么算法实现的? 滑动窗口是怎么工作的?能否讲讲这块的原理? 熔断算法是怎么设计的?为啥没有半开半闭状态呢? 本篇文章,来分析一下 go-zero 中指标统计背后的实现算法和逻辑。 指标怎么统计 这个我们直接看 breaker : type g
阅读全文
posted @ 2021-06-01 07:57
万俊峰Kevin
阅读(531)
推荐(1)
2021年5月31日
摘要:
RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议。我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点,常见的选型有哪些? 1. RPC是什么 RPC可以分为两部分:用户调用接口 + 具体网络协议。前者为
阅读全文
posted @ 2021-05-31 09:35
万俊峰Kevin
阅读(15130)
推荐(5)
2021年5月26日
摘要:
前言 群里老有同学问,go-zero 的 数据库 和 redis 库是否有连接池支持。先说结论:有的,可以放心大胆用! 从框架设计来说,对于数据库连接这种资源当然是尽可能减少频繁操作: 为业务减负 提升框架自身的性能 池化技术是一个通用化技术,本身就应该作为一个通用库支撑框架的上层业务 所以不管是
阅读全文
posted @ 2021-05-26 08:35
万俊峰Kevin
阅读(520)
推荐(0)
2021年5月24日
摘要:
Previously 前两篇文章(缓存稳定性 和 缓存正确性)跟大家讨论了缓存的『稳定性』和『正确性』,缓存常见问题还剩下『可观测性』和『规范落地&工具建设』 稳定性 正确性 可观测性 规范落地和工具建设 上周文章发完之后,很多同学对我留的问题进行了深入的讨论,我相信经过深度的思考,会让你对缓存一致
阅读全文
posted @ 2021-05-24 08:58
万俊峰Kevin
阅读(470)
推荐(1)
2021年5月19日
摘要:
前言 缓存,设计的初衷是为了减少繁重的IO操作,增加系统并发能力。不管是 CPU多级缓存,page cache,还是我们业务中熟悉的 redis 缓存,本质都是将有限的热点数据存储在一个存取更快的存储介质中。 计算机本身的缓存设计就是 CPU 采取多级缓存。那对我们服务来说,我们是不是也可以采用这种
阅读全文
posted @ 2021-05-19 08:33
万俊峰Kevin
阅读(695)
推荐(0)
2021年5月17日
摘要:
Previously 缓存系统涉及的问题和知识点是比较多的,我主要分为以下几个方面来跟大家探讨: 稳定性 正确性 可观测性 规范落地和工具建设 上篇 我们分析了缓存系统的稳定性,介绍了 go-zero 是怎么解决缓存穿透、缓存击穿、缓存雪崩问题的。比较浅显易懂,且具有比较强的实战意义,推荐一读。 本
阅读全文
posted @ 2021-05-17 09:03
万俊峰Kevin
阅读(496)
推荐(0)
2021年5月13日
摘要:
你在使用消息队列的时候关注过吞吐量吗? 思考过吞吐量的影响因素吗? 考虑过怎么提高吗? 总结过最佳实践吗? 本文带你一起探讨下消息队列消费端高吞吐的 Go 框架实现。Let’s go! 关于吞吐量的一些思考 写入消息队列吞吐量取决于以下两个方面 网络带宽 消息队列(比如Kafka)写入速度 最佳吞吐
阅读全文
posted @ 2021-05-13 07:58
万俊峰Kevin
阅读(1200)
推荐(0)
2021年5月10日
摘要:
前言 大家好!我是万俊峰,go-zero 作者。感谢 ArchSummit 提供这么好的机会来跟大家分享一下go-zero的缓存最佳实践。 首先,大家可以想一想:我们在流量激增的情况下,服务端哪个部分最有可能会是第一个瓶颈?我相信大部分人遇到的都会是数据库首先扛不住,量一起来,数据库慢查询,甚至卡死
阅读全文
posted @ 2021-05-10 10:34
万俊峰Kevin
阅读(757)
推荐(3)
2021年5月7日
摘要:
最近在看公司的 redis queue 时,发现底层使用的是 go-zero 的 queue 。本篇文章来看看 queue 的设计,也希望可以从里面了解到 mq 的最小型设计实践。 使用 结合其他 mq 的使用经历,基本的使用流程: 创建 producer 或 consumer 启动 mq 生产消息
阅读全文
posted @ 2021-05-07 10:15
万俊峰Kevin
阅读(295)
推荐(0)
2021年4月28日
摘要:
前言 是不是觉得C写个服务太累,但又沉迷于C的真香性能而无法自拔?作为一个老牌C程序员(可以看我 github 上十几年前的C项目:https://github.com/kevwan ),这几天听一个好友跟我聊起他写的C框架,说极简代码即可完成各种C服务的开发,不禁让我心生好奇!于是我去研究了一下,
阅读全文
posted @ 2021-04-28 11:47
万俊峰Kevin
阅读(1701)
推荐(0)