RocketMQ企业级部署方案

背景

公司很多业务在使用RocketMQ,前期业务量小,没啥问题,也没有太关注集群的可用性这块,所以全公司的业务公用一个集群,随之公司的业务量增加,业务对RocketMQ集群依赖越来越重,开始思考集群拆分,风险分摊;开始想的是按部门划分,一个部门一个集群,但是部门之间有通过RocketMQ做数据交互的需求,这样会带来的问题是一个应用需要连接两个RocketMQ集群,需要业务方改代码,在开发人不需要改代码的情况下,如何能做到集群无单点、风险分摊,集群未来可以水平扩容呢,我们的方案如下:

集群部署规划

整个集群分三层,分别是应用接入层、Nameserver集群和Broker集群,下面分别对这三部分说明:

接入层

接入层其实就是应用连接MQ集群的地址,目前生产环境我们是直接连接了nameserver的IP地址,如果nameserver扩容或者换服务器了,大家需要修改配置重启服务更新新的nameserver地址,虽然这个事情的几率比较低,但是如果发生了还是比较麻烦,所有我们新的接入方案是负载均衡+域名,大家在程序里面配置连接MQ的地址为:BLB:9876,nameserver1.chj.cloud:9876,nameserver2.chj.cloud:9876,这样同时做了负载均衡和域名的双保险,如果负载均衡器故障,应用会重试去连域名

Nameserver集群

Nameserver本身是无状态的,并且基本没有压力,所以我们计划前期先部署两台;后续需要扩容的时候,需要依次重启broker,让broker也注册到新的nameserver上

Broker集群

Broker负责消息的存储,Broker的部署有多种模式,我们会根据业务需求,部署两种架构:多master多slave(同步复制、同步刷盘)、多master多slave(异步复制、异步刷盘);集群也可以横向扩容

Broker命名规范:奇数为异步复制+异步刷盘类型,偶数为同步复制+同步刷盘类型,如:broker-1,broker-2

架构图

Topic管理

根据业务场景,我们把Topic创建到不同的Broker集群上,业务场景分两种情况:一种是需要保证消息不丢,但是对吞吐量要求不高,如订单相关信息,比如下图的TopicA就是用来存储订单相关的Topic,那么我们就把这个Topic创建到同步复制、同步刷盘这样角色的Broker集群上;另一种是对吞吐量要求特别高,但是消息容许发生少量丢失,如车辆上报的监控相关信息,比如下图的TopicB就是用来存储车辆上报的监控相关信息的Topic,那么我们就把这个Topic创建到异步复制、异步刷盘这样角色的Broker集群上

原文地址:https://blog.51cto.com/navyaijm/2415454

时间: 2024-10-21 21:15:54

RocketMQ企业级部署方案的相关文章

Skype for business server 2015部署方案一:SFB环境需求及部署

Skype for Business 2015 环境需求 Skype for Business 通信与协作平台整合了源自 Skype 的客户端体验以及 Lync 的企业级安全性.合规性和控制力.与Lync 2013 相比,Skype for Business Server 2015? 提供包括状态.IM.语音和视频呼叫以及联机会议的功能外,且提供了全新的客户端体验.全新的服务器版本以及对 Office 365 中服务的更新.除了全新客户端体验之外,Skype for Business Serve

SharePoint 修改密码Web Part部署方案

SharePoint 修改密码Web Part部署方案 1. 以管理员身份打开Visual Studio2010,新建项目,模板选择SharePoint2010,平台选择.NET Framework 3.5, 新建空白SharePoint项目,编辑名称changePWD及位置,点击确定. 2. 弹出SharePoint 自定义向导.填写预调试站点,点击验证.验证成功后,选择"部署为场解决方案",点击确定. 3. 右键点击changePWD,添加----新建项,选择可视Web部件pass

这一设计思路显然降低了新 DBMS 部署方案

数据库管理系统(简称 DBMS)无疑是任何数据密集型应用程序当中最为重要的组成部分,其肩负着处理大量数据以及高复杂性工作负载的重任.然而,数据库管理系统本身却往往难于管理,因为其中通常包含数百种配置"旋钮",用于控制诸如缓存内存分配量以及存储介质数据写入频率等要素.各类企业一般需要聘请专业人士以协助相关调配工作,但对于大多数企业而言,此类专业人才的开价亦相当高昂.而实际上,DBA所面临的挑战还远不止这些. 而今天一则名为"OtterTune"的机器学习DBMS系统刷

ActiveMQ实现负载均衡+高可用部署方案

一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现 2.activemq的特性 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP 2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息

ActiveMQ实现负载均衡+高可用部署方案(转)

本文转自:http://www.open-open.com/lib/view/open1400126457817.html%20 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 2.activemq的特性 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Stomp

Haproxy+keepalived高可用、负载均衡安装部署方案

1     环境说明 前端两台haproxy+keepalived互为主从,提供高可用:另外基于不同域名访问不同的虚拟ip实现负载均衡 1.1     环境描述 服务器A(主.从):eth0:10.241.51.245   eth1:192.168.1.9 服务器B(从.主):eth2:10.241.51.246   eth1:192.168.1.10 服务器C(web01):eth0:10.241.51.247 服务器D(web02):eth0:10.241.51.248 VIP1:10.24

开源jms服务ActiveMQ的负载均衡+高可用部署方案探索

一个文件(或目录)拥有若干个属性,包括(r/w/x)等基本属性,以及是否为目录(d)与文件(-)或连接文件(l)等属性.此外,Linux还可以设置其他系统安全属性,使用chattr来设置,以lsattr来查看,最重要的是可以设置其不可修改的特性,即便是文件的拥有者都不能进行修改.这个属性相当重要,尤其是在安全机制方面(security). 文件默认权限:umask 当建立一个新的文件或目录时,它的默认属性是与umask有关的.通常,umask就是指定当前用户在建立文件或目录时的属性默认值.那么,

无线WIFI上网监控串联部署方案

所谓串联部署,顾名思义就是串接在网络里面,所有都经过监控系统,可以让监控系统解析,还原,做中间人技术(HTTPS,SSL监控)这样部署可以直接深入网络,对网络管理,协议分析,内容审计更加全面到位.串联部署方案两种形式: 网关部署,将WSG的E系列作为网关部署在局域网出口.串联部署比较推荐现成的硬件设备,串联上网设备,硬件的配置有要求.串接在网络里面,所有数据都经过设备,不管是内容审计,还是行为管理,带宽管理都能做到最大管理程度.无线设备怎么都没有办法做客户端,只能通过专业网关(第二代防火墙)监管

CloudStack+XenServer详细部署方案创建高级网络资源域

CloudStack+XenServer详细部署方案(5):创建高级网络资源域 本文将根据设计文档结合和之前创建的XenServer 资源池, 介绍CloudStack高级网络资源域的创建过程. Step1. 选择高级网络模式, 单击下一步.   Step2. 配置域信息. 域名称: shenzone DNS: 10.1.1.11 Hypervisor 类型: XenServer 网络域: shenzone.com 来宾网络CIDR: 192.168.100.0/24 公共: 是   注: 此处