Pulsar 在涂鸦智能的实践

本文介绍了涂鸦智能如何采用Apache Pulsar优化消息系统,解决HTTP投递灵活性、Kafka运维成本高和租户隔离等问题。Pulsar的丰富订阅策略、轻量级运维和多租户隔离特性给涂鸦带来了性能提升,同时也面临消息堆积、消费重复等挑战。

????️ 阅读本文需 7 分钟

作者:张永红,开放平台组研发工程师(涂鸦智能)

>>> 关于涂鸦

涂鸦智能是一个全球化智能平台和“AI+IoT”开发者平台,也是世界排名前列的语音 AI 交互平台。连接消费者、制作品牌、OEM 厂商和零售连锁的智能化需求,为客户提供一站式人工智能物联网的解决方案,并且涵盖了硬件介入、云服务以及 APP 软件开发三方面,形成人工智能+制造业的服务闭环,为消费类 IoT 智能设备提供 B 端技术及商业模式升级服务,从而满足消费者对硬件产品更高的诉求。

上图体现了涂鸦目前的生态模式,包含涂鸦云、涂鸦 OS、涂鸦 APP,形成一个生态闭环。右半部分则为涂鸦涉及到的一些应用场景,例如,智能酒店、智能安防、全屋智能等。

 

>>> 涂鸦的消息系统架构

上图是涂鸦智能之前的消息架构图。上层是一些 IoT 的独立设备,包括智能开关、投影仪等。通过 MQTT 协议,将消息上报给消息系统。还有一部分设备是传感器等,通过 zigbee 网关和 MQTT 协议的传输,最后上报至消息系统。

上图是涂鸦消息系统具体的链路,从 MQTT 网关开始,接入服务连接到 Kafka,通过 Kafka 进行消息的分发。用户在接收到消息后,可以采取不同的处理方式。

 

 

以上的架构模式存在一些业务痛点。

 

1. HTTP 投递方式不灵活,这个是最明显的一个痛点。假如用户的服务挂掉,想在重启后重新进行消费。如果我们想要满足这个需求,就需要对消息的持久化进行额外的处理。

 

2. Kafka topic 数量与日俱增,运维成本高。用户使用 Kafka 订阅模式下,可以解决前文提到的持久化问题,但是随着用户和消息量的增加,Kafka 的运维层面压力会比较大,人力和时间等耗费比较高。

 

3. 租户之间会相互影响。通过架构图可以看出,从 Kafka 模式进行分发后,租户之间会受到很大影响。

 

>>> Pulsar 自身的优势

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值