目前前期放入技术栈,以及技术选型说明,单篇章。 目前采用的技术流程图,后续补技术站点详情,例如nginx 配合lua 用作缓存、限流、黑名单等。 目前鉴于lcn 更新缓慢,阿里上个月在梦想小镇发布了Seata GA 版本,宣称已可作用于生产环境,目前分布式事务采用阿里开源的Seata 采用其中 AT ...
分类:
其他好文 时间:
2020-01-08 12:34:03
阅读次数:
103
什么是消息队列? 为什么要用消息队列? 即,应用场景是什么,也就是用了有什么好处 解耦 多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败 异步 多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间 削峰/限流 避免流量过大导致应用系统挂掉的情况 ...
分类:
其他好文 时间:
2020-01-07 21:22:46
阅读次数:
144
1.首先接口限流算法: 1.计数器方式(传统计数器缺点:临界问题 可能违背定义固定速率原则) 2.令牌桶方式 https://www.weibo.com/u/3932251136 3.漏桶方式 4.应用层限流(Nginx) 2.限流实现: 2.1. RateLimiter是guava提供的基于令牌桶 ...
分类:
编程语言 时间:
2020-01-03 19:10:32
阅读次数:
246
[TOC] 限流(访问频率)组件的使用 框架中限流功能的实现依赖于封装好的限流类,设置方式上分为全局设置和局部设置、继承类设置和自定义类设置。如果要实现限流功能则必须设置DEAFULRT_THROTTLE_CLASSES和DEAFULRT_THROTTLE_RATES 自定义限流类 限流类的基本思路 ...
分类:
其他好文 时间:
2020-01-01 20:33:19
阅读次数:
67
本篇讲网关上的限流 用开源项目spring-cloud-zuul-ratelimit 做网关上的限流 (项目github:https://github.com/marcosbarbero/ ) 1,在网关项目里,引入限流组件的maven依赖: 2,在网关项目yml配置里,配限流相关配置 github ...
分类:
编程语言 时间:
2020-01-01 10:08:50
阅读次数:
208
3.2 Redis 在 3.2 版本以后增加了地理位置 GEO 模块,该功能可以用来实现美团和饿了么「附近的餐馆」这样的功能了。 4.0 Redis 4.0 提供了一个限流 Redis 模块,它叫 redis-cell。该模块也使用了漏斗算法,并提供了原子的限流指令。 ...
分类:
其他好文 时间:
2019-12-30 17:12:15
阅读次数:
120
消费端限流 什么是消费端的限流? 假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况: 巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据! 消费端限流RabbitMQ提供的解决方案 RabbitMQ提供了一种qos(服 ...
分类:
其他好文 时间:
2019-12-30 14:26:38
阅读次数:
106
三、Hystrix容错 Hystrix的容错主要是通过添加容许延迟和容错方法,帮助控制这些分布式服务之间的交互。 还通过隔离服务之间的访问点,阻止它们之间的级联故障以及提供回退选项来实现这一点,从而提高系统的整体弹性。Hystrix主要提供了以下几种容错方法: 资源隔离 熔断 降级 1、资源隔离 线 ...
分类:
其他好文 时间:
2019-12-28 22:54:08
阅读次数:
107
一、nginx限速 在生产环境中,为了保护WEB服务器的安全,我们都会对用户的访问做出一些限制,保证服务器的安全及资源的合理分配。 限流(rate limiting)是NGINX众多特性中最有用的,也是经常容易被误解和错误配置的,特性之一访问请求限速。该特性可以限制某个用户在一个给定时间段内能够产生 ...
分类:
其他好文 时间:
2019-12-24 20:41:11
阅读次数:
112
项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器。 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数量,目的是通过有损来换取高可用。 例如我们的场景是,有一个服务接收请求,处理之后,将数据bulk到Elastics ...
分类:
其他好文 时间:
2019-12-23 22:30:20
阅读次数:
348