上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 分布式系统,我用一句话给你解释一下,实在没时间多唠了,就是原来20万行代码的系统,现在拆分成20个小系统,每个小系统1万行代码。原本代码之间直接就是基于spring调用,现在拆分开来了,20个小系统部署在不同的机器上,得基于dubbo搞一个rpc调用,接口与接口之间通过网络通信来请求和响应。就这个意 阅读全文
posted @ 2021-04-16 16:38 双城孙宇 阅读(588) 评论(0) 推荐(0)
摘要: 分布式业务系统,把原来用java开发的一个大块系统,给拆分成多个子系统,多个子系统之间互相调用,形成一个大系统的整体。假设原来你做了一个OA系统,里面包含了权限模块、员工模块、请假模块、财务模块,一个工程,里面包含了一堆模块,模块与模块之间会互相去调用,1台机器部署。 现在如果你把他这个系统给拆开, 阅读全文
posted @ 2021-04-16 14:29 双城孙宇 阅读(143) 评论(0) 推荐(0)
摘要: redis cluster,10台机器,5台机器部署了redis主实例,另外5台机器部署了redis的从实例,每个主实例挂了一个从实例,5个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每秒5万,5台机器最多是25万读写请求/s。 机器是什么配置?32G内存+8核CPU+1T磁盘,但是分 阅读全文
posted @ 2021-04-16 10:42 双城孙宇 阅读(226) 评论(0) 推荐(0)
摘要: 这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。 而且redis自己就有天然解决这个问题的CAS类的乐观锁方案 如果更旧,就不能用旧的数据覆盖新的数据 阅读全文
posted @ 2021-04-16 10:17 双城孙宇 阅读(115) 评论(0) 推荐(0)
摘要: 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 最经典的缓存+数据库读写的模式,cache aside pattern (1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的 阅读全文
posted @ 2021-04-16 09:57 双城孙宇 阅读(122) 评论(0) 推荐(0)
摘要: 缓存雪崩发生的现象 缓存雪崩的事前事中事后的解决方案 事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃 事中:本地ehcache缓存 + hystrix限流&降级,避免MySQL被打死 事后:redis持久化,快速恢复缓存数据 统没死,对用户来说,就是可能点击几次刷不出来 阅读全文
posted @ 2021-04-15 20:58 双城孙宇 阅读(84) 评论(0) 推荐(0)
摘要: 待补充。。。 阅读全文
posted @ 2021-04-15 16:44 双城孙宇 阅读(59) 评论(0) 推荐(0)
摘要: #1、RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集 如果我们想要redis仅仅作为纯内存 阅读全文
posted @ 2021-04-15 16:28 双城孙宇 阅读(605) 评论(0) 推荐(0)
摘要: 就是如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 redis高并发:主从架构,一主多从,一般来说,很多项目其实就足够了,单主用来写入数据,单机几万QPS,多从用来查询数据, 阅读全文
posted @ 2021-04-15 16:08 双城孙宇 阅读(284) 评论(0) 推荐(0)
摘要: (1)设置过期时间 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时?10分钟?这个很有用,我们自己可以指定缓存到期就失效。 如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的? 答 阅读全文
posted @ 2021-04-14 16:39 双城孙宇 阅读(109) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页