`
liudunxu2
  • 浏览: 32006 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

metaq的msgid生成规则

 
阅读更多
   public synchronized long nextId() {
        long timestamp = this.timeGen();
        if (this.lastTimestamp == timestamp) {
            this.sequence = this.sequence + 1 & this.sequenceMask;
            if (this.sequence == 0) {
                timestamp = this.tilNextMillis(this.lastTimestamp);
            }
        }
        else {
            this.sequence = 0;
        }
        if (timestamp < this.lastTimestamp) {
            throw new InvalidSystemClock(String.format(
                "Clock moved backwards.  Refusing to generate id for %d milliseconds", this.lastTimestamp - timestamp));
        }

        this.lastTimestamp = timestamp;
	//其中的workerId为broker的brokerId,这样保证在客户端消费者重复消息过滤时,不会因为两个broker有同样的topic并且生成了同样的其他数时造成消息错误过滤
        return timestamp - twepoch << this.timestampLeftShift | this.workerId << this.workerIdShift | this.sequence;
    }

分享到:
评论

相关推荐

    Metaq原理与应用

    - **Producer**:生产者是负责创建并发送消息的组件,通常由业务系统生成消息。 - **Consumer**:消费者用于接收和处理消息,通常为后台系统进行异步消费。 - **Consumer Group**:消费者组是一组具有相同消费...

    metamorphosis(metaq)

    《Metamorphosis (MetaQ) 服务端1.4.3版本详解及客户端使用》 Metamorphosis,简称MetaQ,是一款高效、稳定、可扩展的消息队列系统,由阿里巴巴开发并开源,主要用于解决分布式环境下的异步处理、解耦以及数据传输...

    metaQ向spark传数据

    在大数据处理领域,MetaQ和Spark是两个非常关键的组件。MetaQ是腾讯开源的一款分布式消息中间件,常用于实时数据处理系统中的消息传递。而Spark则是一个强大的、通用的并行计算框架,专为大数据分析设计,尤其擅长...

    metaq-server-1.4.6.2客户端+服务端

    MetaQ是阿里巴巴开源的一款分布式消息中间件,它主要用于在大规模分布式系统中提供高效、可靠的消息传递服务。MetaQ Server 1.4.6.2版本是这个中间件的一个特定发行版,包含了服务端和客户端的组件,以及相关的...

    metaq-server-1.4.6.2.tar.gz

    《MetaQ服务器1.4.6.2版的深度解析》 MetaQ是阿里巴巴开源的一款分布式消息中间件,主要用于提供高可靠、高可用的消息传输服务。在本文中,我们将深入探讨MetaQ Server 1.4.6.2版本的核心特性、架构设计以及使用...

    Metaq在JDk 7下的异常及解决方案

    《Metaq在JDK 7下的异常及其解决策略》 Metaq是一款高性能的消息中间件,广泛应用于分布式系统中,提供高效、稳定的消息传递服务。然而,在JDK 7环境下,Metaq可能会遇到一些运行异常,其中最常见的就是与物理文件...

    metaq-server-1.4.6.2.zip 和原版一样就是换了个名字

    《MetaQ服务器1.4.6.2版本详解》 MetaQ是阿里巴巴开源的一款分布式消息中间件,主要用于解决大规模分布式系统中的消息传递问题。在1.4.6.2这个版本中,它继续保持着与原版一致的核心特性,提供高效、稳定、可扩展的...

    Metaq详细手册.docx

    《Metaq详细手册》 Metaq,源自LinkedIn的开源消息中间件Kafka的Java实现——Memorphosis,针对淘宝内部的应用需求进行了定制和优化。它遵循一系列设计原则,旨在提供高效、可靠且灵活的消息传递服务。 1. **消息...

    metaq消息中间件服务端、客户端资源汇集

    Metamorphosis是淘宝开源的一个Java消息中间件,他类似apache-kafka,但不是一个简单的山寨拷贝,而是做了很多改进和优化,项目的主页在淘蝌蚪上。服务端、客户端、javadoc都包含在内。

    MetaQ 分布式消息服务中间件.pdf

    MetaQ是一款分布式消息服务中间件,其核心功能基于发布-订阅模型。在这一模型中,发布者(Producer)将消息发布到MetaQ,MetaQ会储存这些消息,而订阅者(Consumer)则通过pull方式来消费这些消息。具体而言,消费者...

    metaQ的安装包

    MetaQ,全称为“Meta Message Queue”,是阿里巴巴开源的一款分布式消息中间件,主要用于解决大规模分布式系统中的消息传递问题。MetaQ 提供了高可用、高可靠的消息服务,支持多种消息模型,如点对点(Point-to-...

    支付宝之所以牛逼的原因:来看内部架构剖析

    Metamorphosis(MetaQ)是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,在...

    阿里rocketMQ

    阿里RocketMQ是一款开源的消息中间件,它在阿里巴巴集团内部广泛使用,并且被社区接纳成为Apache顶级项目。RocketMQ的设计目标是提供低延迟、高可靠、高可扩展的消息传递服务,适用于大规模分布式系统中的消息通讯。...

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

    - **透明协议设计**:MetaQ采用了文本协议设计,这种设计使得MetaQ的操作更加直观易懂,便于开发者进行监控和调试。 - **纯Java实现**:无论是通信层还是存储层,MetaQ均使用Java语言实现,这对于支付宝这样的大型...

    Metamorphosis, 一种高可用高性能的分布式.zip

    Metamorphosis, 一种高可用高性能的分布式 #新闻MetaQ 1.4.6.2 发布。更新日志MetaQ 1.4.6.1 发布。更新日志MetaQ 1.4.5.1 发布。更新日志MetaQ 1.4.5发布。更新日志meta: 一个用于的ruby 客户端。 源代码

    RocketMQ群问题整理

    16. **msgId重复**:RocketMQ 的 msgId 不会重复,除非数据被清除并重启,msgId 由服务器 IP 端口号和 CommitLogOffset 组成。 17. **Offset保存位置**:集群消费模式下,offset 存储在 Broker;广播消费模式下,...

    实时数仓2.0——打怪升级之路.pdf

    这些明细表通过实时数据处理转化为各种应用场景的ADM(Application Data Model)表,例如应用场景1至4的ADM表,服务于实时报表的生成,如实时报表1、报表2、报表3和报表4。 实时报表是实时数仓的关键产出,它们基于...

    Storm项目:流数据监控(下)

    该文档为storm模拟项目系列文档之一,是MetaQ与storm接口的说明文档,主要介绍了如何集成MetaQ到项目代码中。软件(阿里),其对应的许多技术文档还是比较容易看的,并且Github提供了许多的应用实例,所以使用MetaQ...

Global site tag (gtag.js) - Google Analytics