`
csc365kl
  • 浏览: 56855 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zookeeper metamorphosis

 
阅读更多

zookeeper 和 metamorphosis 研究完成

目前搭建的环境是在 2台 ubuntu server 64下 简称 USA USB ... 

USA下 安装了 server1 server3 目录 分别是两个 zookeeper   metamorphosis消息中间件

USB下 安装了 server2 目录 一个zookeeper     metamorphosis消息中间件

3个zookeeper 形成一个集群   metamorphosis也是通过 zookeeper形成集群

zookeeper 是2n+1 可以容许n台机器故障

metamorphosis 单台机器故障不引想使用

第一阶段 完成的是 zk集群的配置 各种故障测试 和 不同机器数据获取的测试

第二阶段 完成的是 metamorphosis单机的正确 消息传递测试 和 集群配置 及单点故障测试

第三阶段 完成的是 metamorphosis收发消息的细节研究 

brokerId是metamorphosis集群中的唯一标识 第一台 我们的唯一标识是1

metamorphosis 的 topic 会发布到 zk的 /meta/brokers/topics 目录下 并且每个消息可以有多个区

被命名为 0,0-m 如果有另一台集群机器  brokerId 为 1 那么 消息为 0,0-m,1,1-m 

也就是说两个消息中间件发布同一个消息名称的话 会被认为是要做一个 消息集群

在客户端发布消息的时候 会按照 0-1 0-2 0-3...1-1...1-m的 顺序区间去发布(可以自定义) 发布者发布的消息在服务端写入磁盘被认为成功返回成功消息(不一定落到磁盘设备)

客户端消费者采取的pull方式 这种方式和寻常的消费者监听不一样 而是主动的定时去查看 zk下的信息 并拉下来(落到磁盘设备的消息)

上面就产生了一个 我看了很久的问题 就是 metamorphosis默认设置是 1000条 强制写入磁盘设备一次 或者10秒强制写入 一次 磁盘设备 导致我发布者发布消息并成功很快 接收消息却总是延迟

后来邮件咨询了下 淘宝团队的工程师 才知道以上原因 (应该是淘宝的队列中总是瞬间有很多消息 所以默认都设置的比较注重吞吐量)

这里就有一个问题 pull方式的消息接收可能比较适合 并发处理量特别大的系统 对小系统可能 却消耗比较大

发布者的发布负载均衡策略是 分区轮询

消费者的消费负载均衡策略是 消费者数目 大于 分区时 消费者1对1分区 多余的消费者闲着  消费者小于分区时 有部分消费者 可能要1对n分区

 

分享到:
评论

相关推荐

    zookeeper-3.4.5,metamorphosis-server-wrapper

    《Zookeeper 3.4.5与Metamorphosis Server Wrapper深度解析》 在IT行业中,Zookeeper和Metamorphosis作为重要的分布式中间件,扮演着数据协调和消息队列的关键角色。本篇将深入探讨Zookeeper 3.4.5版本以及与其相关...

    Metamorphosis介绍.pptx

    * Zookeeper:负责分布式配置和故障恢复 * Meta Server:负责元数据管理 * Meta Client:负责客户端管理 * Meta Manager:负责集群管理 优缺点 Metamorphosis的优点包括: * 无状态 * 消息存储顺序写,性能极高 *...

    淘宝消息队列metamorphosis使用

    淘宝消息队列metamorphosis使用,下载java项目后查看readme.txt文本配置zookeeper,metaq后在测试代码修改下自己的配置即可执行demo,可以通过生产者生产消息,消费者消费消息

    Metamorphosis-master(metaqueue)详细手册

    1. **服务发现**:利用Diamond和Zookeeper自动发现Meta服务器的地址列表。 2. **连接管理**:创建和销毁到Meta服务器的连接,实现连接复用。 3. **消息存储与恢复**:管理消息消费者的状态,方便消息的持久化和恢复...

    打包部署1

    生成的服务端所需内容会出现在目标目录下的`taobao-metamorphosis-server-wrapper.dir`或不带扩展名的`taobao-metamorphosis-server.dir`。 - **独立工程打包**:对于其他独立工程,进入其目录,同样执行`mvn -U -...

    【系统架构】最全最强解析:支付宝钱包系统架构内部剖析(架构图).docx

    3. 交易柔性事务支付宝的开源分布式消息中间件–Metamorphosis(MetaQ):负责处理交易消息的传输和处理,包括消息存储、顺序写、吞吐量大和支持本地和XA事务等功能。 Metamorphosis(MetaQ) 介绍: Metamorphosis...

    淘宝团队自己开发的中间件在ubuntu上搭建的过程

    主工程的打包命令是`mvn -U -Dtest -DfailIfNoTests=false clean install package assembly:assembly`,这将生成所有需要的服务端文件,包括`taobao-metamorphosis-server-wrapper.dir`或不带扩展的`taobao-...

    Metaq详细手册.docx

    它负责服务发现(通过Diamond和Zookeeper),连接管理和复用,消息存储和恢复,以及资源协调与管理。推荐全局共享一个MessageSessionFactory实例。 8. **消息生产者示例**: - 以下代码展示了如何创建和使用一个...

    支付宝钱包系统架构内部剖析(架构图)

    - **灵活的offset存储**:除了常见的数据库存储方式外,MetaQ还支持磁盘存储、Zookeeper存储等多种offset存储方式,甚至允许用户根据自身需求定制存储方案。 - **配套项目**:为了进一步提升MetaQ的易用性和扩展性,...

    kafka-mongo:一个非常简单的项目,显示kafka队列中的消息使用情况以及对MongoDB的添加

    启动: 启动mongo: mongod 启动Kafka服务器: kafka-server-start /usr/local/etc/kafka/server.properties 创建Kafka主题: kafka-topics --list --zookeeper localhost --topic metamorphosis 启动生产者: ...

Global site tag (gtag.js) - Google Analytics