zoukankan      html  css  js  c++  java
  • 分布式消息队列之其他队列

    一、Rabbitmq

    二、RocketMQ

    与kafka的区别:

    • 纯java开发,不用zk
    • 支持延迟投递,消息溯源等
    • 多个队列使用一个日志文件,所以不存在kafka过多topic之后慢的问题

    三、Pulsar

    Pulsar 是一个用于服务器到服务器的消息系统,具有多租户、高性能等优势。 Pulsar 最初由 Yahoo 开发,目前由 Apache 软件基金会管理。

    Pulsar的关键特性如下:

    • Pulsar的单个实例原生支持多个集群,可跨机房在集群中无缝完成消息复制
    • 极低的发布延迟和端到端延迟
    • 可无缝扩展到超过一百万个topic
    • 简单的客户端API,支持Java、Go、Python和C++
    • 支持多种topic订阅模式(独占订阅、共享订阅、故障转移订阅)
    • 通过Apache BookKeeper提供的持久化消息存储机制保证消息传递
    • 基于Pulsar Functions的serverless connector框架Pulsar IO使得数据更易移入、移出Apache Pulsar
    • 分层式存储可在数据陈旧时,将数据从热存储卸载到冷/长期存储(如S3、GCS)中

    命名空间

    命名空间是租户内部逻辑上的命名术语。 可以通过admin API在租户下创建多个命名空间。你可以在namespace下创建任意数量的topic。

    订阅模式

    4种订阅模式

    消息去重

    消息去重保证了一条消息只能在 Pulsar 服务端被持久化一次

    生产者幂等

    Pulsar种,broker上可以处理消息去重

    实际一次语义

    消息延迟传递

    单机模式安装

    下载:wget https://archive.apache.org/dist/pulsar/pulsar-2.8.0/apache-pulsar-2.8.0-bin.tar.gz

    下载好压缩文件后,解压缩并使用 cd 命令进入文件所在位置

    单机启动:

    bin/pulsar standalone

    消费消息:

    bin/pulsar-client consume my-topic -s "first-subscription"

    生产消息:

    bin/pulsar-client produce my-topic --messages "hello-pulsar"

    四、Camel

    Apache Camel 是一个开源集成框架,它使您能够快速、轻松地集成各种消费或生成数据的系统。

    Apache Camel 使用 uri 来简化与各种传输或消息传递模型的集成,包括 HTTP、 ActiveMQ、 JMS、 JBI、 SCA、 MINA 或 CXF,并与可插入数据格式选项一起工作。Apachecamel 是一个小型库,它具有最小的依赖性,便于在任何 Java 应用程序中嵌入。Apache Camel 允许您使用相同的 API,而不管传输类型如何,从而使您能够在对 API 有了很好的理解的情况下,与所提供的所有组件进行交互

    我们可以使用Camel把activeMq里面的消息转移到RabbitMQ里去。

    书山有路勤为径,学海无涯苦作舟
  • 相关阅读:
    MagicAjax.NET Framework
    实例说明sql优化的重要性
    求助:谁可以给我点share point 开发的资料
    整理了一些tsql技巧(收藏)
    熟悉/了解C#基础问题
    .NET在SQL Server中的图片存取技术(例子在管理里InOutImg)
    SQL Server 2000 函数使用CAST 和 CONVERT
    MagicAjax.NET Framework configuration
    找工作了,希望各位多多帮忙
    OSG节点访问和遍历
  • 原文地址:https://www.cnblogs.com/javammc/p/15265325.html
Copyright © 2011-2022 走看看