作者:萌萌美人鱼 | 来源:互联网 | 2023-05-18 20:10
点击蓝字关注我们
本篇文章 从Qbus服务介绍、架构、使用场景开展, 不 涉及到队列底层具体实现原理, 只讲把Qbus服务上 到私有云的过程,希望给有相同需求的各位带来一点有价值的东西。下来就跟随作者一同学习下吧。
Qbus作为云平台队列服务,服务于公司各个业务线,目前 每天流量PB+ , topic 1W 。
Qbus以kafka组件为核心,及其周边配套服务 ,包括 日志收集
, 各种语言的sdk
, 持久化存储到hdfs
, 业务定制监控
等服务。
场景广泛,包括日志系统,打点服务,大数据,流处理等常见场景。主要作用为 服务解耦
, 消息通讯
, 流量削峰
等。
读写客户端主要有以下三种:
其中前两种,可以直接在云平台提交工单,自动审核通过。第三种需要人工沟通,我们提供多版本集群,适配更多业务平台。
其中我结合整个服务的实现。说一下我们主要做了的东西,及遇到的问题。这篇只讲解决方案。不涉及到具体细节。
日志收集组件:
日志收集使用 logstash
组件做了定制, filebeat
版在研发马上上线。
一般用户在云平台申请了日志收集的 topic
,填写了机器,与收集路径,就会生成一个自动工单,由命令系统自动去业务机器安装logstash。当然还包括日常的路径增删改查,这些由我们为云平台提供接口来实现。
定制功能包括 :
-
配置统一管理,自动更新;
-
收集进度汇报;
-
服务自检;
-
日志头添加机器名,特殊日志归并;
-
bug 修改;
配置存放在云平台配置中心。
状态展示如图:
SDK是组内自研的。kafka-bridge 目前已经开源。欢迎大家使用。
定制功能包括
-
使用VIP代替broker_list;
-
更强大的错误处理,当有不可用副本时候直接跳过;
-
相关参数优化;
这是 Qbus队列周边的配套服务,提供持久化到HDFS的功能。
HDFS我们直接用的兄弟部门的平台。
服务架构如下:
如图示,主要实现了以下内容:
这样用户只需要在页面点一下开通或者关闭,就可以了,非常方便。
监控服务作为整体服务的基础,为整体服务提供数据支撑,包括上层的动态调整工具,都非常依赖监控。
当然业务们也有权限在云平台查看自己topic的流量情况。
监控服务我们主要使用了 Prometheus
。
如图:
对它做了以下改造:
这样为上层提供稳定的监控数据接口。
现 在Qbus 服务依托云平台已经做到了工单全自动,除非kafka集群故障需要人工处理。
但是随着越来越多的业务都把服务上到容器平台之后,横向扩容变得非常迅捷,频繁,异常处理也可能不太合理,这也对基础服务带来了更多的挑战。
基础服务要做的更加健壮,才能应付这一切。
这其中包括:
-
更迅速的扩容,迁移能力;
-
更丰富的业务隔离;
-
更强大的客户端兼容;
说到这里,更期待 pulsar
加入到新版本的qbus了。
往期精彩回顾
Golang开发入门(一)
实习招聘|360云平台火热招聘中
360S tack裸金属服务器部署实践
360技术公众号
技术干货|一手资讯|精彩活动
扫码关注我们
以上所述就是小编给大家介绍的《云平台队列服务-Qbus实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!