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


本文标签: 消息 数据 可能 学习 支持