用 Go + WebSocket 快速实现一个 chat 服务
摘要:前言 在 go-zero 开源之后,非常多的用户询问是否可以支持以及什么时候支持 websocket,终于在 v1.1.6 里面我们从框架层面让 websocket 的支持落地了,下面我们就以 chat 作为一个示例来讲解如何用 go-zero 来实现一个 websocket 服务。 整体设计 我们
阅读全文
posted @
2021-03-31 13:07
万俊峰Kevin
阅读(1995)
推荐(1) 编辑
一文搞懂如何实现 Go 超时控制
摘要:为什么需要超时控制? 请求时间过长,用户侧可能已经离开本页面了,服务端还在消耗资源处理,得到的结果没有意义 过长时间的服务端处理会占用过多资源,导致并发能力下降,甚至出现不可用事故 Go 超时控制必要性 Go 正常都是用来写后端服务的,一般一个请求是由多个串行或并行的子任务来完成的,每个子任务可能是
阅读全文
posted @
2021-03-29 07:56
万俊峰Kevin
阅读(981)
推荐(0) 编辑
微服务复杂查询之缓存策略
摘要:大型业务系统中,通过对持久层添加缓存,对大多数单行记录查询,缓存能够帮持久层减轻很大的访问压力,但数据读取不仅仅只是单行记录,面对大量多行记录的查询,这对持久层也会造成不小的访问压力,本文介绍 go-zero 缓存设计之biz cache。
阅读全文
posted @
2021-03-15 08:24
万俊峰Kevin
阅读(761)
推荐(0) 编辑
还在用crontab? 分布式定时任务了解一下
摘要:前言 日常任务开放中,我们会有很多异步、批量、定时、延迟任务要处理,go-zero中有 go-queue,推荐使用 go-queue 去处理,go-queue 本身也是基于 go-zero 开发的,其本身是有两种模式: dq:依赖于 beanstalkd ,适合延时、定时任务执行; kq:依赖于 k
阅读全文
posted @
2021-03-08 08:11
万俊峰Kevin
阅读(1119)
推荐(0) 编辑
使用Prometheus搞定微服务监控
摘要:最近对服务进行监控,而当前监控最流行的数据库就是 Prometheus,同时 go-zero 默认接入也是这款数据库。今天就对 go-zero 是如何接入 Prometheus ,以及开发者如何自己定义自己监控指标。 监控接入 go-zero 框架中集成了基于 prometheus 的服务指标监控。
阅读全文
posted @
2021-03-01 14:30
万俊峰Kevin
阅读(3484)
推荐(0) 编辑