还有一种做法是,如果消费失败,自己给同一个topic发一条消息,在后面的某个时间点,自己又会消费到那条消息,起到了重试的效果 。如果对消息顺序要求不高的场景,可以使用这种方式 。
3,消息丢失问题
不管你是否承认有时候消息真的会丢,即使这种概率非常小,也会对业务有影响 。生产者、mq服务器、消费者都有可能会导致消息丢失的问题 。
为了解决这个问题,我们可以增加一张消息发送表,当生产者发完消息之后,会往该表中写入一条数据,状态status标记为待确认 。如果消费者读取消息之后,调用生产者的api更新该消息的status为已确认 。有个job,每隔一段时间检查一次消息发送表,如果5分钟(这个时间可以根据实际情况来定)后还有状态是待确认的消息,则认为该消息已经丢失了,重新发条消息 。
4,消息顺序问题
消息顺序问题是我们非常常见的问题,我们以kafka消费订单消息为例 。订单有:下单、支付、完成、退货等状态,这些状态是有先后顺序的,如果顺序错了会导致业务异常 。
订单号路由到不同的partition,同一个订单号的消息,每次到发到同一个partition 。
5,消息堆积
如果消费者消费消息的速度小于生产者生产消息的速度,将会出现消息堆积问题 。其实这类问题产生的原因很多,如果你想进一步了解,可以看看我的另一篇文章《 我用kafka两年踩过的一些非比寻常的坑 》 。
那么消息堆积问题该如何解决呢?
这个要看消息是否需要保证顺序 。
如果不需要保证顺序,可以读取消息之后用多线程处理业务逻辑 。
这样就能增加业务逻辑处理速度,解决消息堆积问题 。但是线程池的核心线程数和最大线程数需要合理配置,不然可能会浪费系统资源 。
如果需要保证顺序,可以读取消息之后,将消息按照一定的规则分发到多个队列中,然后在队列中用单线程处理 。
mq是什么牌子?MQ是厨房电器品牌 。
“MQ名气”是2008年由老板电器推出的厨房电器品牌 。2012年,杭州名气电器有限公司正式成立,作为杭州老板电器股份有限公司旗下全资子公司,以公司化独立运作“MQ名气”品牌 。
厨房电器选择原则
一、品牌与服务最重要
国际化大品牌的产品在零部件采购、生产工艺、质量控制等各个环节有严格的要求,质量通常比较可靠,且售后服务体系完善,能够免除消费者的后顾之忧 。选择大品牌的产品已经是大家的共识 。
可是,由于中国人的烹饪习惯和西方不一样,中国人烹饪喜欢煎炒烹炸,油烟比较重,需要大吸力油烟机与大火力燃气灶;欧美习惯吃西餐,油烟较轻,其油烟机吸力和燃气灶火力普遍较小 。所以,建议不要轻易选用未经中国式改造的舶来品 。
二、选健康,重环保
厨房是家庭的主要污染源,厨房同时又是一家人生活享乐的中心 。厨房家电作为厨房中的核心部件,是否具有健康、环保的功能至关重要!
三、低耗才叫省
居家过日子,使用节能、低耗的电器产品才叫省钱 。不要仅仅关注产品的卖价是否便宜,更重要的是看产品本身是否有节能、低耗的功能 。如:油烟机是否有“高速、低速、柔速”三个速度,长时间炖煲可以使用柔速档,省电又静音 。
燃气灶是否纯蓝猛火,是否具有4.2kW以上的大火力;是否采用聚能光波消毒,是否有智能跟踪消毒功能 。
四、厨电一体化
随着整体厨房的日益普及,厨房电器作为整体厨房的嵌入式部品,必须体现“厨电一体化”的概念,实现各元素之间的和谐统一 。这就要求不仅“厨电”与“橱柜”之间要“一体化”,“厨电”和“厨电”之间从内部功能匹配到外部美学设计也要具有成套的设计概念 。如,橱柜与厨电在颜色上是否匹配、产品外观设计是否搭配等等 。
文章插图
网络语mq是什么意思?MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构 。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构 。
消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构 。
MQ的缺点 [3]
1、系统可用性降低 。依赖服务也多,服务越容易挂掉 。需要考虑MQ瘫痪的情况
2、系统复杂性提高 。需要考虑消息丢失、消息重复消费、消息传递的顺序性
秒懂生活扩展阅读
- 许多|坏消息!中国有2个地方正在慢慢“下沉”,以后会永久消失?
- 微信消息提示音可以关吗怎么关
- 微信消息过多被限制接收怎么办
- 支付宝收到的消息要在哪里看
- 什么叫导语
- 河内|好消息!关乎中国和越南!|中国自驾地理
- 微信群主怎么撤回别人的消息
- 苹果手机怎么设置qq新消息通知
- qq上屏蔽此人消息对方知道吗
- 最新版微信可以撤回多久的消息