admin 管理员组文章数量: 1086019
2024年5月30日发(作者:vs2022创建c语言项目)
网
事
计算机与网络
■权露
消息队列(
MQ
),是一种应用程序对应用程序的通信方
法。应用程序通过写和检索出入列队的针对应用程序的数据
(消息)来通信,而无需专用连接来链接它们。
优缺点
ActiveMQ
ApacheActiveMQ
是最流行的开源、多协议、基于
Java
重试。它支持消息顺序,但是一台代理宕机后,就会产生消息
乱序,且社区更新较慢。
RocketMQ
由于
ActiveMQ
和
Kafka
不能满足阿里的需求,他们决定
发明一种新的消息传递引擎来处理更广泛的用例集,从传统
的发布
/
订阅场景到高容量实时零丢失容错事务系统。相信
这个解决方案是有益的,所以希望向社区开放源代码,今天,
有
100
多家公司在其业务中使用开源版本的
RocketMQ
。
优点
单机吞吐量
10
万级,可用性非常高,分布式架构,消息
可以做到零丢失。扩展性好,支持
10
亿级
MQ
功能较为完善,
别的消息堆积,不会因为堆积导致性能下降,源码是
Java
可
以自己阅读源码,定制自己公司的
MQ
。
缺点
支持的客户端语言不多,目前是
java
及
C++
,其中
C++
不成熟,社区活跃度一般,没有在
MQ
核心中去实现
JMS
等
接口,有些系统要迁移需要修改大量代码。
RabbitMQ
RabbitMQ
是部署最广泛的开源消息代理,拥有数万用
的消息代理。它支持行业标准协议,因此用户可以从多种语
言和平台的客户端选择中获益。从
JavaScript
、
C
、
C++
、
Python
、
.NET
等多个客户端连接。使用无处不在的
AMQP
协
议集成多平台应用程序。使用
STOMPoverWebSocket
在
Web
应用程序之间交换消息。使用
MQTT
管理您的物联网
设备。支持您现有的
JMS
基础架构及其他基础架构。
Ac-
tiveMQ
提供了支持任何消息传递用例的能力和灵活性。
优点
单机吞吐量万级,时效性
ms
级,可用性高,基于主从架
构实现高可用性、消息可靠性较低的概率丢失数据。
缺点
官方社区现在对
ActiveMQ5.x
维护越来越少,高吞吐量
场景较少使用。
Kafka
ApacheKafka
是一个开放源代码的分布式事件流平台,
户,是最流行的开源消息代理之一。从
T-Mobile
到
Runtastic
,
RabbitMQ
在世界各地的小型初创公司和大型企业中使用。
被数千家公司用于高性能数据管道、流分析、数据集成和任
务关键型应用程序。如今,有超过
80%
的财富
100
强公司信
任并使用
Kafka
。
优点
性能卓越,单机写入
TPS
每秒约在百万条,最大的优点,
就是吞吐量高。时效性毫秒级、可用性非常高,
Kafka
是分
布式的,一个数据多个副本,少数机器宕机不会丢失数据,也
不会导致不可用。消费者采用
Pull
方式获取的消息,消息有
序,通过控制能够保证所有消息被消费且仅被消费一次。
Web
管理界面
Kafka-Manager
,有优秀的第三方
Kafka
,
易于在本地和云中部署,支持多
RabbitMQ
是轻量级的,
种消息传递协议,可以在分布式和联合配置中部署,以满足
高规模、高可用性需求。
并为最流行
RabbitMQ
运行在许多操作系统和云环境上,
的语言提供了广泛的开发工具。
优点
由于
erlang
语言的高并发特性,性能较好,吞吐量达到万
级,健壮、稳定、易用、跨平台且支持多种
MQ
功能比较完备,
Python
、
Ruby
、
.NET
、
Java
、
JMS
、
C
、
PHP
、
ActionScript
、语言,如:
XMPP
、
STOMP
等。支持
AJAX
文档齐全,开源提供的管理界
在日志领域比较成熟,被多家公司和多个开源项目使用。功
能较为简单,主要支持简单的
MQ
功能,在大数据领域的实
时计算以及日志采集被大规模使用。
缺点
Kafka
单机超过
64
个队列
/
分区,
Load
会发生明显的飙
面非常棒,很好用,社区活跃度和更新频率也相当高。
缺点
商业版需要收费,且学习成本较高。
MQ
的应用场景及选择
ActiveMQ
高现象,队列越多
Load
越高,发送消息响应时间变长,使用
短轮询方式,实时性取决于轮询间隔时间,消费失败不支持
较适
ActiveMQ
支持任何消息传递用例的能力和灵活性,
合吞吐量比较小的公司使用,也是
MQ
起步学习的首选。
Copyright©博看网. All Rights Reserved.
42
计算机与网络
网事
4
■秦红兵
在合适的时间,以合适的薪水,找到拥有合适技能的合
适人选有困难吗?也许你可能找错了地方,你需要的员工可
能已经在团队中,只是不在你的视线之内。通过寻找具有可
转移技能、隐藏技能、技术可学习性和隐藏知识的现有员工,
可以让这些潜在的员工浮出水面。
可平行转移的技能
可平行转移技能包括相关的知识、经验和能力,以这些
技能为基础使建立新技能更加可行。在
IT
领域,可能意味着
要物色编程、测试、网络安全、运营、项目管理或其他类似岗
位的员工进行招聘。比如,当试图补充网络安全职位时,可根
据具体岗位需求,在下面这些部门找找看。
在组织内提高安全意识的角色可以是人力资源部门中
专门负责组织文化的人,或者是专门负责撰写营销材料的营
销人员。这
2
类岗位都掌握如何将对象的思维引导向特定的
方向。
监控安全威胁或入侵检测的角色可从
IT
运营团队中物
色,又了解组织的
ITIT
运营人员既能执行持续的监控任务,
基础设施和流程。
分离服务器可信连接的角色可以是现有的企业架构师
或
Linux/Windows
系统管理员,二者都了解内部系统和有技
术专长,具有能够正确重新配置服务器和其他设备的技术。
隐蔽技能
简单地说,这些是团队中现有的技能组合,只是在他们
目前的工作角色中并没有发挥出来。例如,可能有一个在会
计部门工作的人员,拥有应用数学的大学学位。这个人可能
是预测性分析、大数据分析,甚至是机器学习相关职位的理
想内部候选人。另外,可能有业务分析师在其职业生涯的早
期担任过销售人员,这个人可能是实施新的基于云的
CRM
系统的理想人选,如
Salesforce
。
技术学习能力
这是指某人根据其先前的知识和
/
或原生的智力来学习
新技能的能力。作为一个
IT
以外的例子,研究表明,一个会
说
2
种语言的人学习一种新的语言,比只会说一种语言的人
学习第二种语言要容易。在
IT
领域,从逻辑上讲,已经掌握
一种或多种编程语言的人比从未编程的人更容易快速掌握
一种新的语言。从智力能力的角度来看,许多人由于个人情
况,没有机会学习与计算机有关的科目,但却对逻辑、拼图、
解决问题和其他相关领域有比较强的能力,所以如果有机
会,他们可以成为卓越的技术专家。
隐性知识
和隐蔽技能一样,隐性知识并不是因为人们想把它作为
一个秘密而隐藏起来,而是因为它不会在日常沟通显现。因
为,这些知识与人们目前的工作角色不相关,隐藏的知识可
能来自以前的工作经验、个人爱好、正式教育、与他们未来职
业目标相关的专业认证,甚至是生活经历。例如,如果需要新
招聘一名项目经理或
ScrumMaster
,你的团队中可能有人拥
有与之前工作相关的
PMP
或
Agile
认证,并希望回到项目管
理岗位上。也可能发现一位团队成员想转入网络安全领域,
并刚刚获得
CISSP
、作为
IT
领
CISA
或其他安全相关的认证。
导者,使用这些方式来填补IT职位的空缺有很多好处:
面对招聘市场上稀缺性,填补空缺职位的成本降低;
因为员工已经在组织中工作,所以和你的组织文化匹配
的可能性增加;
提高了组织的忠诚度并减少流失率,因为员工觉得组织
欣赏整他们这个人以及他们的整体素质,而不仅仅只关注他
们目前表现出的能力;
增强招聘能力,因为组织将在职业发展领域获得以员工
为中心的美誉。
Kafka
Kafka
主要特点是基于
Pull
的模式来处理消息消费,
涌入时,后端可能无法及时处理的情况。
RoketMQ
在稳定性
上更值得信赖,这些业务场景在阿里的“双
11
”已经经历了
多次考验,如果你的业务有上述并发场景,建议可以选择
RocketMQ
。
RabbitMQ
追求高吞吐量,一开始的目的就是用于日志收集和传输,适
合产生大量数据的互联网服务的数据收集业务。大型公司可
以选用,它是大数据分析必备,如果有日志采集功能,肯定是
首选。
RocketMQ
结合erlang语言本身的并发优势,性能好、时效性可达
到微秒级,社区活跃度也比较高,管理界面用起来十分方便,
如果的数据量没有那么大,中小型公司优先选择功能比较完
备的
RabbitMQ
。
天生为金融互联网领域而生,对于可靠性要求很高的场
景,尤其是电商里面的订单扣款,以及业务削峰,在大量交易
Copyright©博看网. All Rights Reserved.
43
版权声明:本文标题:几个常用MQ的优缺点和应用场景 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1717032518a699992.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论