消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,削峰填谷等问题。实现高性能、高可用、可伸缩和最终一致性架构。
mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣减积分等等。每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了。
部门的开发同学最近在开发一个活动的过程中,需要关注大量的应用后台逻辑,捕捉各种事件的触发。在设计时打算采用kafka消息队列进行业务逻辑的解耦,这样活动开发和后台开发同学的工作就分离开了。
Redis是目前最受欢迎的kv类数据库,当然它的功能越来越多,早已不限定在kv场景,消息队列就是Redis中一个重要的功能。Redis从2010年发布1.0版本就具备一个消息队列的雏形,随着10多年的迭代,其消息队列的功能也越来越完善,作为一个全内存的消息队列,适合应用与要求高吞吐、低延时的场景。
本小节开始介绍之前多次提到过的消息队列。再讲之前,问大家各问题.你们遇到过有些时候,爬虫有很大一部分时间抓取解析模块是空闲的情况么?我猜应该大多数都遇到过.产生这个现象的原因就在于写入数据库的时间比起抓取解析的时间要慢的多.所以就开始出现了性能瓶颈.通过分析,是写入数据库的性能跟不上抓取解析的性能.那么怎么样才能让两边的速率达成平衡呢?
Kakfa 广泛应用于国内外大厂,例如 BAT、字节跳动、美团、Netflix、Airbnb、Twitter 等等。今天我们通过这篇文章深入了解 Kafka 的
关注时代Java