技术架构—各类技术选型与区别答疑—【区别-缺点与不足】—(Java与大数据部分(1)

分类: 分为push和pull两种方式,push为被动消费类型,pull为主动消费类型

区别:

①Push方式:由消息中间件主动地将消息推送给消费者;

②Pull方式:由消费者主动向消息中间件拉取消息。

优缺点:

两种方式的缺点与不足:

 
Push方式:优点是可以尽可能快地将消息发送给消费者,缺点是如果消费者处理能力跟不上,消费者的缓冲区可能会溢出。
Pull方式:优点是消费端可以按处理能力进行拉去,缺点是会增加消息延迟。

市面上常见消息中间件默认的方式:

RabbitMQ 消费者默认是推模式(也支持拉模式)。

RocketMQ 消费者默认是推模式(也支持拉模式)(从严格意义上说,RocketMQ并没有实现真正的消息消费的Push模式,而                                                        是对Pull模式进行了一定的优化)

Kafka 默认是拉模式。

处理 性能上: Kafka>RocketMQ>RabbitMQ。


各种消息中间件使用场景:

Kafka  是 高吞吐量消息中间件的行业老大。主要特点是基于Pull的模式来处理消息消费,支持数据持久化,

高效的磁盘顺序读写(这主要在于它的队列模式保证了写磁盘的过程是线性IO 即磁盘顺序读写。)Kafka 还支持batch 操作,

适合产生海量数据的互联网服务的数据收集业务。

RabbitMQ 基于AMQP协议来实现,对数据一致性、稳定性和可靠性要求很高的场景

AMQP协议更多用在企业级系统内,目前在 传统的信息系统项目中使用的多

RocketMQ 思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化

**(**RocketMQ是阿里开源的消息中间件 在淘宝系统中大量使用)

ActiveMQ: 基于JMS协议的消息队列,现在很少使用,处理性能不如以上3个


消息中间件相关的技术选型总结:



消息中间件RocketMQ执行原理:

目前企业消息中间件使用:

总体来讲Kafka特别适合的场景是 吞吐量的要求很大实时数据分析,log分析等场景。但是如果用来做业务事件的分发,也非常适合。

如果业务场景压力不大,又比较传统,需要那些传统的JMS协议,用Active MQ完全够用,但同时也可以考虑一下RabbitMQ

电商类RocketMQ

传统企业:RabbitMQ 、ActiveMQ

大数据行业:Kafka

一般满足如下场景都可以考虑使用:

当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。

消息队列主要解决了应用耦合、异步处理、流量削锋等问题。


消息中间件具体使用场景:

1. 分布式环境下事务:

思路:通过中间件,ack机制 协调多个事物的一致性

A账户向B账户进行转账为例:

A、B账户不在同一个DB中,此时无法像在单机情况下使用事物来实现。此时可以通过一下方式实现,将  转账操作分成      两个操作。通过消息中间件发送数据变更记录与ACK机制返回处理状态来做事物的提交与回滚

具体流程:

a) A账户

| 步骤 | 动作 |

| — | — |

| 1 | 锁定A的账户 |

| 2 | 检查A账户是否有1元 |

| 3 | A的账户扣减1元 |

| 4 | 解锁A的账户 |

b) MQ消息

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-V4EUh2Hh-1712900687226)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值