分布式
houdezaiwu1
这个作者很懒,什么都没留下…
展开
-
高并发 限流特技
前言 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量...原创 2019-11-13 18:09:14 · 258 阅读 · 0 评论 -
高并发 服务雪崩、Hystrix熔断、Hystrix降级
前言 听起来这几个词挺高大上的,以前都是盲区,现在我们好好梳理下这几个概念,熔断和降级是在一起使用的。先看个图 订单服务和会员服务不在一个服务器,订单服务会调用会员服务,当会员服务返回阻滞时,订单服务的线程会阻滞,如果请求过多,服务器的线程都被占用了,这是我们调用 查询订单服务就会没有线程用来处理,该服务器所有的服务都将不可用,这就是服务雪崩。 服务熔断 为了解决上述问题,服务熔断的思想被提出...原创 2019-11-11 17:57:40 · 497 阅读 · 0 评论 -
分布式解决方案------分布式锁
前言 分布式锁是由于集群的存在而产生的问题,常见的有三种解决方案 基于数据库实现分布式锁 基于redis 基于zookeeper 基于数据库的性能太差了,这里就简单实现下后两种 redis 实现分布式锁 redis 实现分布式锁的原理是setnx,设置值如果成功就返回1,否则就是0 具体实现: 先定义个接口: public interface RLock { public String...原创 2019-11-09 18:03:25 · 275 阅读 · 0 评论 -
分布式解决方案------session一致性问题
前言 分布式session 问题造成的原因是因为集群造成的。 常说的解决方案有6种: ip_hash: nginx 分发服务的时候,绑定ip,但这样就没有负载均衡效果了 tomcat 内置的session 同步,这个有延时,没有人用,很垃圾 使用cookie 代替session,也没有人用,太不安全 使用 数据库同步session ,效率太差了,也不用 spring -session 框架同步 ...原创 2019-11-03 15:19:32 · 278 阅读 · 0 评论