首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Golang分布式限流开源实现

开源实现 uber官方实现 优点:star最高 缺点:功能比较简单,阻塞等待直到获得令牌,不支持分布式,只支持漏桶算法 ulule/limiter 优点:支持把令牌存储到Redis和memory中,还支持不同的...tollbooth 缺点:HTTP服务端限流,也不支持分布式 beefsack/go-rate 优点:阻塞式和非阻塞的都有,实现简单 缺点:不支持分布式 vearne/ratelimit 优点:支持Redis...,并且是非阻塞的 缺点:试了一下有问题,Git上给作者提了issues speedbump 优点:支持Redis 缺点:近四年没有更新 redis_rate 优点:go-redis官方实现,支持分布式,...非阻塞,使用简单 缺点:只支持漏桶算法 经过对开源项目的对比和测试,redis_rate支持分布式,是redis官方实现的,版本也一直再更新 ,使用也很方便。

1.9K70
您找到你想要的搜索结果了吗?
是的
没有找到

Golang分布式设计模式之-----分层设计

在这类系统中,分布式系统与常规的集中式系统存在着以下三个区别。(来自分布式算法导论) 1、缺乏全局状态知识 2、缺乏全局时间帧 3、非确定性          这三大特点也成为分布式系统设计的难点。...也正是如此,分布式系统的设计比常规的集中式系统要难的多。为了区别,我们称这种分布式系统为,群体分布式。这种犹如社会群体。         ...golang语言天生具有分布式的特点,其主要是基于协程与chan的概念。如果对golang不了解的人可以简单的去看看golang语言。         ...有了golang语言,我们的可执行程序,也可以设计成分布式。一个可执行程序设计成分布式,这种分布式我们成为单体分布式。这种犹如,个体,存在着很多的部件。         ...借鉴到golang语言的开发过程中。          下面我们以一个http流分析系统举例 一、根据功能,划分成不同的层次。

1.1K50

转-Golang分布式设计模式之-----分层设计

提到分布式系统,我们会想到很多机器,分别部署着各自的服务,然后整体组成一个分布式系统。在这类系统中,分布式系统与常规的集中式系统存在着以下三个区别。...(来自分布式算法导论) 1、缺乏全局状态知识 2、缺乏全局时间帧 3、非确定性 这三大特点也成为分布式系统设计的难点。也正是如此,分布式系统的设计比常规的集中式系统要难的多。...为了区别,我们称这种分布式系统为,群体分布式。这种犹如社会群体。 golang语言天生具有分布式的特点,其主要是基于协程与chan的概念。...如果对golang不了解的人可以简单的去看看golang语言。 有了golang语言,我们的可执行程序,也可以设计成分布式。一个可执行程序设计成分布式,这种分布式我们成为单体分布式。...借鉴到golang语言的开发过程中。 下面我们以一个http流分析系统举例 一、根据功能,划分成不同的层次。

789130

分布式事务框架 seata-golang 接入指南

seata-golang 是一个分布式事务框架,实现了 AT 模式和 TCC 模式,AT 模式相较 TCC 模式对代码的入侵性更小、需要开发的接口更少;但 AT 模式对事务操作的数据持有全局锁,从这点来说...下面以seats-golang samples 为例,就 AT 模式和 TCC 模式如何接入到业务中做一个说明。 ?...seata-golang 要代理该 *Svc 对象,需要创建一个代理对象,被代理的方法要在代理对象中作为一个空方法成员,等待 seata-golang 去动态实现。...这意味着你可以同时使用 orm 框架和 seata-golang 框架,当你的操作需要用到事务时,用 seata-golang 的 db 操作对象去执行 sql 语句。...当前 seata-golang 与最新的 seata java 1.4 版本协议上完全打通,如果有公司在技术栈上既有使用 java 语言也有使用 golang 语言,可接入 seata 框架来解决您的分布式事务后顾之忧

2.7K10
领券