go-zero 组件分析之 Breaker

2023-05-28
阅读 4 分钟
1.3k
熔断机制是一种微服务保护机制。当某个微服务出现故障或者异常时,通过熔断机制,可以防止故障或异常扩散到整个微服务系统中,从而避免整个微服务系统被拖垮,熔断机制的大致流程是(以下流程基于 go-zero 熔断器为背景):

go-zero 组件介绍:布隆过滤器

2023-05-22
阅读 4 分钟
931
布隆过滤器(英語:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。——[引自:维基百科]

根据proto一键生成rpc golang微服务

2020-10-22
阅读 5 分钟
5.7k
Goctl Rpc是goctl脚手架下的一个rpc服务代码生成模块,支持proto模板生成和rpc服务代码生成,通过此工具生成代码你只需要关注业务逻辑编写而不用去编写一些重复性的代码。这使得我们把精力重心放在业务上,从而加快了开发效率且降低了代码出错率。

还在手敲model代码,来体验一下go-zero代码自动生成吧!

2020-10-22
阅读 7 分钟
6.3k
goctl model 为go-zero下的工具模块中的组件之一,目前支持识别mysql ddl进行model层代码生成,通过命令行或者idea插件(即将支持)可以有选择地生成带redis cache或者不带redis cache的代码逻辑。

go-zero 数据的流处理利器 fx

2020-10-21
阅读 6 分钟
6.9k
流处理(Stream processing)是一种计算机编程范式,其允许给定一个数据序列(流处理数据源),一系列数据操作(函数)被应用到流中的每个元素。同时流处理工具可以显著提高程序员的开发效率,允许他们编写有效、干净和简洁的代码。

go-zero的业务中的内存缓存神器collection.Cache

2020-10-21
阅读 2 分钟
5.3k
go-zero微服务框架中提供了许多开箱即用的工具,好的工具不仅能提升服务的性能而且还能提升代码的鲁棒性避免出错,实现代码风格的统一方便他人阅读等等,本系列文章将分别介绍go-zero框架中工具的使用及其实现原理

还在手撸Go微服务?快来试试go-zero,超乎你的想象!

2020-09-04
阅读 9 分钟
5.8k
Github[链接]快速构建高并发微服务0. 为什么说做好微服务很难?要想做好微服务,我们需要理解和掌握的知识点非常多,从几个维度上来说:基本功能层面并发控制&限流,避免服务被突发流量击垮服务注册与服务发现,确保能够动态侦测增减的节点负载均衡,需要根据节点承受能力分发流量超时控制,避免对已超时请求做无用...