中间件集群梳理与搭建
一、背景
当前管理端部分方向因业务的发展,不断需要ES、MQ等基础中间件服务的支持,因公司架构组近期主要精力在DB中间件和新MQ平台等重点项目里,短期无法提供ES和ActiveMQ的新增业务支持,因此需要各端业务方自己搭建和维护,但对于业务方向的研发人员来说,一方面业务需求压力比较大、精力不足,另一方面对中间件技术的熟练程度有限,所以业务平台技术架构组统一承担了一部分中间件技术服务的搭建和维护工作
二、目标
- 在技术平台过渡期,支持好业务方向的中间件扩展需求
- 统一管理中间件集群服务,降低重复工作和维护成本
- 抽象出公用的中间件辅助工具,提升系统质量和可用性
三、业务方需求
1. Kafka集群
(1)呼叫中心业务,主要为了推送坐席状态实时消息,预计QPS能达到3000以上,现有的ActiveMQ满足不了性能要求(最高800qps)
(2)LP业务,通过MQ将大量IM聊天记录存储至DB;工作台所需数据,不再直接调用BI数据接口,而是通过订阅MQ方式与BI交互
2.ES集群
(1)followup ES集群,因为followup业务比较核心和基础,followup数据量很大,已超过9000w条记录,上层应用对followup依赖重,针对followup相关的查询希望通过es的方式来做到更高效和可靠,为此,单独建立followup的es集群
(2)业务基础服务方向,主要满足订单相关的数据查询,其他业务系统如cc、lp等有相对复杂的订单查询需求,可以通过订单es服务快速提供
四、主要工作内容
- 搭建kafka和es独立集群,与上层业务系统对接
- 提供中间件集群关键技术数据的监控工具
- 对中间件的用法和优化提供技术支持
五、集群详细信息
1.Kafka集群列表
部门
|
环境
|
集群
|
内网IP列表
|
公网IP列表
|
硬件配置
|
使用场景
|
相关监控
|
callcenter
|
online
|
10.0.37.103
10.0.42.86
10.0.34.151
|
8 core
16 G
500G sata
|
坐席状态实时消息
(通话中、振铃、拨号之前、致盲时间)
|
|||
callcenter
|
test
|
10.24.60.182
10.24.97.248
10.24.60.183
|
8 core
16 G
100 G
|
坐席状态实时消息
(通话中、振铃、拨号之前、致盲时间)
|
|||
clt
|
online
|
8 core
32 G
1000G
|
BI数据交换(学生上课进度)
im聊天记录
估算数据量比较大(1000w)
|
2.ES集群列表
部门
|
环境
|
集群
|
硬件配置
|
使用场景
|
相关监控
|
基础业务部门
|
online
|
16 core
32 G 内存
500G ssd
|
订单数据查询 订单es服务
用户画像数据
|
||
cc
|
online
|
16 core
32 G 内存
500G ssd
|
followup数据 followup es迁移
|
||
clt
(17年已经
上线集群)
|
online
|
16 core
32 G 内存
300G ssd
|
|||
callcenter
(17年已经
上线集群)
|
online
|
16 core
32 G 内存
1000 G SATA
|
|||
mes
(17年已经
上线集群)
|
online
|
16 core
128 G 内存
500 G ssd
|
|||
线上故障