2019年12月23日

Redis 4.0.10 文档(分布式锁)

摘要: Redis分布式锁 在许多环境中,分布式锁是一种非常有用的原语,其中不同的进程必须以互斥的方式与共享资源一起运行。 有许多库和博客文章描述了如何使用Redis实现DLM(分布式锁管理器),但是每个库都使用不同的方法,而且许多库使用的是一种简单的方法,与稍微复杂的设计相比,可以获得较低的保障。 此页面 阅读全文

posted @ 2019-12-23 21:31 ExplorerMan 阅读(535) 评论(0) 推荐(0)

Redis 实现限流的三种方式

摘要: 项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器。 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数量,目的是通过有损来换取高可用。 例如我们的场景是,有一个服务接收请求,处理之后,将数据bulk到Elastics 阅读全文

posted @ 2019-12-23 21:10 ExplorerMan 阅读(7042) 评论(0) 推荐(0)

Redis 漏斗限流 (redis-cell)

摘要: 上述的漏斗限流算法,在Redis的模块中已经内置实现了一个,具体介绍请参见Github redis-cell详细介绍 笔者安装在MacOS上,基本没有问题: # 下载mac版本安装包https://github.com/brandur/redis-cell/releases# 解压tar -zxf 阅读全文

posted @ 2019-12-23 17:25 ExplorerMan 阅读(1715) 评论(0) 推荐(0)

python分布式环境下的限流器

摘要: 项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器。 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数量,目的是通过有损来换取高可用。 例如我们的场景是,有一个服务接收请求,处理之后,将数据bulk到Elastics 阅读全文

posted @ 2019-12-23 17:23 ExplorerMan 阅读(282) 评论(0) 推荐(0)

架构设计之「服务限流」

摘要: 上一篇我们聊过了架构设计中的「服务隔离」模式,今天我们继续来探索一下在分布式系统架构中的另一个常用的设计:服务限流。 那么,什么是「服务限流」呢? 在解释「服务限流」之前,我们来看一下前些时间网上很火的一个段子,说的是新浪微博的一名工程师正在家里办婚礼,突然接到公司的电话要紧急处理线上流量激增的问题 阅读全文

posted @ 2019-12-23 17:12 ExplorerMan 阅读(201) 评论(0) 推荐(0)

Ocelot + Consul实践

摘要: 关于Consul(https://www.consul.io)是一个分布式,高可用,支持多数据中心的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源。 在Consul的文档上,Consul 支持 阅读全文

posted @ 2019-12-23 16:42 ExplorerMan 阅读(1028) 评论(0) 推荐(0)

分布式链路追踪(Tracing)系统 – Jaeger在Golang中的使用

摘要: 先从微服务说起 目录 [隐藏] 微服务 Tracing在微服务中的作用 为什么是Jaeger 安装 客户端 在单体应用中实现Tracing. 通过Grpc中间件使用 在业务代码中使用 通过Gin中间件中使用 结语 部署篇 使用Elasticsearch作为存储后端 相关文章 目录 [隐藏] 微服务 阅读全文

posted @ 2019-12-23 16:36 ExplorerMan 阅读(2166) 评论(0) 推荐(0)

微服务的时间和成本去哪儿了

摘要: 为什么选择微服务? 虽然刘老师的说辞有点举重若轻,说的是因为执着和技术人的专研精神选择了微服务,甚至也对比和调研过,但是在只有四个人的团队里,连一张披萨都没有凑齐的前提下就“冒然”选型,显然不能让我信服。可能是刘大佬有比较充分的调研和把握,或者说有一定的技术自信。否则换成我,我是无论如何不敢带着四个 阅读全文

posted @ 2019-12-23 14:33 ExplorerMan 阅读(235) 评论(0) 推荐(0)

导航