中华石杉
喵了个咪的回忆丶
Java后台
展开
-
在项目中缓存是如何使用的?
1. 为什么使用缓存?:缓存主要用途有两个,高性能和高并发。高并发的场景不常见,所以项目用它的目的是高性能。如果一个数据被大量的读取,那么可以将它放入缓存中,被读取时直接从缓存中通过key查出value,这样可以大幅提升性能。2. 使用缓存存在哪些问题?:①缓存雪崩。②缓存穿透。③缓存与数据量双写不一致。④缓存并发竞争。...原创 2019-10-26 10:07:26 · 1149 阅读 · 0 评论 -
消息队列笔记二:消息积压,过期失效,设计MQ
1. 消息队列满了后该怎么处理?有几百万消息持续积压几小时临时紧急扩容:先修复 consumer 的问题,确保其恢复消费速度,然后将现有 consumer 都停掉;新建一个 topic,partition 是原来的 10 倍,临时建立好原先 10 倍的 queue 数量;然后写一个临时分发数据的 consumer 程序,这个程序部署上去消费积压的数据,消费之后不做耗时的处理,直接均匀轮...原创 2019-10-24 10:59:34 · 583 阅读 · 0 评论 -
消息队列笔记一:技术选型、优缺点、高可用、三保证
1. 技术选型activeMQ:有较低的概率丢失数据,社区不活跃,维护较少,而且现在数据量越来越大,activeMQ单机吞吐量只有万级,用它越来越不合适了。rabbitMQ:单击吞吐量也是万级,时效性是微秒级,延迟最低:这是rabbitMQ的一大特点,因为它是基于erlang开发的,所以并发能力很强,性能极好,延迟很低。而且开源提供的管理界面很方便使用,社区相对比较活跃,国内互联网公司用ra...原创 2019-10-24 10:23:11 · 363 阅读 · 0 评论