一、简介
METAQ(全称变形)是一款完全的队列模型消息中间件,服务器使用Jave语言编写,可在多种软硬件平台上部署;;单台服务器可支持1万以上个消息队列,通过扩容服务器,队列数几乎可以任意横向扩展,每个队列都是持久化,长度无限(取决于磁盘空间大小),并可从队列任意位置开始消费;
METAQ是一款分布式,队列模型的消息中间件,METAQ具有消息存储顺序写,吞吐量大和支持本地和XA事务等特性,适用于大吞吐量,顺序消息,广播和日志数据传输等场景。基于发布订阅模式,有推和拉两种消费方式,支持严格的消息顺序,亿级别的堆积能力,支持消息回溯和多个维度的消息查询
相关名称解释:
1,主题- - -消息的主题:由用户定义并在服务端配置;制片人发送消息到某个主题下,消费者从某个主题下消费信息;
2,抵消——消息在代理上的每个分区都是组织成一个文件列表,消费者拉取数据需要知道数据在文件中偏移量(抵消),抵消是绝对偏移量,服务器会将抵消转化为具体文件的相对偏移量;
3,代理- - - - - -就是元的服务端或服务器,在消息中间件也通称为代理;
4分区(分区)——同一个主题下面分为多个分区;
配置文件相关参数:
zk。zkEnable=true - - -是否注册到zk,默认真
zk。zkConnect=localhost: 2180 - zk的服务器列表
zk。zkSessionTimeoutMs=30000 - zk心跳超时,单位毫秒,默认30秒
zk。zkConnectionTimeoutMs=30000 - zk连接超时时间,单位毫秒,默认30秒
brokerId——服务器ID,必须是集群内唯一,必须为整数0 - 1024之间
serverPort——服务器端口
主机名- - -默认将取本机IP、多机网卡需要指明
dataLogPath——日志数据文件路径,默认跟dataPath公司一样
dataPath公司——于指定默认的数据存储路径
deletePolicy=删除168 - - -数据删除策略,默认超过7天删除,默认单位小时
deleteWhen:——何时执行删除策略的cron表达式,默认0 0 6日18 * * ?
flushTxLogAtCommit=1 - - -事务日志的同步设置
unflushThreshold——每个多少条消息做一次磁盘同步,强制将更改的数据刷入磁盘;
unflushInterval——间隔多少毫秒定期做一次磁盘同步,默认10秒
二,搭建过程
系统环境:Linux CentOS释放7.6.1810(核心)
1, jdk环境
2,搭建动物园管理员(伪集群)
1)解压
焦油-zxvf zookeeper-3.4.14.tar。广州- c/usr/local/
2)创建三个节点,复制文件(文件夹)
# mkdir - p zk1 zk2 zk3
cp - r zookeeper-3.4.14 zk1/
3)配置文件(其他两个节点类似)
cd zk1 zookeeper-3.4.14/
# mkdir dataDir dataLogDir
#创建标识(三个节点分别1,2,3)
# cd dataDir
vim myid
1 # #修改配置文件
# mv conf/zoo_sample。cfg conf/动物园。cfg
# vim conf/动物园。cfg
其他两个节点拷贝过去即可(注意修改标识)
# cp射频zk1/zookeeper-3.4.14 zk2/
# cp射频zk1/zookeeper-3.4.14 zk3/
4)启动服务
# zk1/zookeeper-3.4.14/bin/zkServer。sh开始
# zk2/zookeeper-3.4.14/bin/zkServer。sh开始
# zk3/zookeeper-3.4.14/bin/zkServer。sh开始
# netstat -tnlp | grep - e的2181 | 2182 | 2183
测试连接登录即可:
# zk1/zookeeper-3.4.14/bin/zkCli。sh - server 127.0.0.1:2181
3,搭建METAQ环境
1)解压文件
#焦油-zxvf metaq-server-1.4.6.2.tar。广州- c/usr/local/
2)配置文件
# cd/usr/local/taobao/metamorphosis-server-wrapper/
# vim conf/服务器。ini