江西省网站建设公司,网站怎么弄缩略图上传,宁波公司做企业网站,现在哪个网站可以做外贸文章目录 介绍#xff1a;部署安装讲解:安装单机版本测试#xff08;Linux下#xff09;#xff1a; 介绍#xff1a; PulsarMQ 现托管于apache Apache 软件基金会顶级项目#xff0c;2016年由雅虎公司开源的分布式多租户消息中间件 #xff0c;是下一代云原生分布式消息… 文章目录 介绍部署安装讲解:安装单机版本测试Linux下 介绍 PulsarMQ 现托管于apache Apache 软件基金会顶级项目2016年由雅虎公司开源的分布式多租户消息中间件 是下一代云原生分布式消息流平台集消息、存储、轻量化函数计算为一体采用计算与存储分离架构设计支持多租户、持久化存储、跨区域复制、具有强一致性、高吞吐、低延迟及高可扩展性等流数据存储特性。支持 Pub/Sub 模型和消息队列模型。 官网 https://pulsar.apache.org/ Pulsar的关键特性如下 1.云原生架构计算与存储分离无缝支持跨集群复制 2.比kafka更高的吞吐量和低延迟 3.无缝支持上百万个topics 4.支持多种消息订阅模式 (exclusive shared failover) 5.通过持久化存储BookKeeper保障消息的传递 6.轻量级Serverless计算框架Pulsar Functions提供了流式数据处理能力。 7.提供分层存储能力释放BookKeeper的空间将老数据or长期不用的数据放到AWS S3等 消息ACK确定机制: 两种主要是由于pulsar单条也可以批处理。 1.Being acknowledged individually. With individual acknowledgment, the consumer acknowledges each message and sends an acknowledgment request to the broker. 被单独承认。通过单独的确认消费者确认每条消息并向代理发送确认请求。 2.Being acknowledged cumulatively. With cumulative acknowledgment, the consumer only acknowledges the last message it received. All messages in the stream up to (and including) the provided message are not redelivered to that consumer. 被累计承认的。对于累积确认消费者只确认其接收到的最后一条消息。流中直到包括所提供消息的所有消息都不会重新传递给该消费者。 两种方式的API确定单条累计
consumer.acknowledge(msg);consumer.acknowledgeCumulative(msg);值的注意的是 累积确认不能在共享订阅类型中使用因为共享订阅类型涉及有权访问同一订阅的多个使用者。在共享订阅类型中消息是单独确认的。
部署安装讲解:
pulsar支持单节点以及集群模式都可以支持使用docker或者k8s以下是官网的经典图 In this diagram, connecting clients need to communicate with the Pulsar cluster using a single URL. In this case, pulsar-cluster.acme.com abstracts over all of the message-handling brokers. Pulsar message brokers run on machines alongside BookKeeper bookies; brokers and bookies, in turn, rely on ZooKeeper. 在该图中连接客户端需要使用单个URL与Pulsar集群进行通信。在这种情况下pulser-cluster.ame.com对所有消息处理代理进行了抽象。Pulsar消息代理(broker经纪人)与BookKeeper博彩公司(bookie)一起在机器上运行而经纪人和博彩公司则依赖ZooKeeper。 乍一看很复杂怎么说呢比起其他MQ确实是很复杂且更加抽象化和组件化一个完整的pulsar服务需要以上的支持。而zookeeper和brokerbookkeeper的联系如下 在 Pulsar 中ZooKeeper 的作用是存储 Pulsar 集群的元数据例如租户、命名空间、主题等信息。Pulsar Broker 则负责处理客户端的请求并将消息传递给相应的 BookKeeper 副本进行持久化。而 BookKeeper Bookie 则是实际进行数据存储和检索操作的组件。 具体来说当客户端发送消息到 Pulsar Broker 时Broker 会首先将消息写入内存缓冲区并返回 AcknowledgmentACK给客户端。然后Broker 将消息异步地提交给 BookKeeper 进行持久化。BookKeeper 接收到消息后会将其写入磁盘并返回 ACK 给 Broker。当 Broker 接收到来自大多数通常是半数以上 BookKeeper 副本的 ACK 后就会确认消息已经成功持久化并将其从内存缓冲区中删除。 在此过程中ZooKeeper 负责管理 Pulsar 集群的元数据例如 Broker 和 BookKeeper 的位置信息、租户的配置信息等。Broker 和 BookKeeper 通过 ZooKeeper 进行注册和发现并获取集群的配置信息。需要注意的是Pulsar 支持多个 ZooKeeper 实例进行共享存储以提高集群的可伸缩性和可用性。 当然ZooKeeper 也是可替换的可以换成一些其他的注册中心还有etcd,nacos等等取舍可看一下比较 etcd、ZooKeeper 和 Nacos 都是分布式存储和协调工具用于管理和维护分布式系统中的元数据信息例如配置信息、服务发现、任务调度等。它们各自有一些优点和适用场景下面进行简要对比 1)etcdetcd 是一个高可用的键值存储系统支持分布式部署和数据复制并且拥有以下特点 简单易用API 设计清晰明了操作简单 性能高效读写性能均较优 可靠性高支持多数派复制机制保证数据的可靠性和一致性 安全性好支持 TLS 加密传输和访问控制。 2)ZooKeeperZooKeeper 是一个分布式协调服务提供共享配置管理和分布式锁等功能具有以下特点 一致性高采用 ZooKeeper Atomic BroadcastZAB协议可以保证分布式系统中各个节点间的数据一致性 功能强大提供了多种 API 和工具支持分布式锁、选举、任务调度等常见的分布式应用场景 生态丰富已经被广泛应用于 Hadoop、Kafka、Pulsar 等开源项目和商业产品中。 3)NacosNacos 是一个分布式的配置中心和服务发现平台旨在帮助企业实现微服务的构建和管理具有以下特点 功能全面支持服务注册、配置管理、服务发现、流量管理等多个功能 可扩展性好支持集群部署和主从复制可以提高系统的可用性和容错性 易用性强提供了丰富的客户端和工具可以快速地接入和使用。 综上所述etcd 适合对性能要求较高的应用场景ZooKeeper 适合需要高一致性和更多功能的应用场景而 Nacos 则适合构建和管理微服务架构。选择使用哪种工具应该根据具体需求和场景进行综合考虑并进行权衡取舍。 安装单机版本测试Linux下
根据我们要使用的PulsarMQ版本选择jdk,本案例使用3.0.0故先先安装jdk17可参考帖子https://blog.csdn.net/xtho62/article/details/131229216
1.下载
## 官方链接如果直接shell中下载较慢建议使用迅雷下载后传上去
wget https://archive.apache.org/dist/pulsar/pulsar-3.0.0/apache-pulsar-3.0.0-bin.tar.gz2.解压安装
mkdir /usr/local/pulsar
tar -zxvf apache-pulsar-3.0.0-bin.tar.gz -C pulsar/3.开两个窗口在pulsar安装目录下的bin目录执行生产和消费操作 生产者 可以使用命令行客户端生产消息、消费消息执行./pulsar-client produce my-topic --messages “hello-pulsar”即往my-topic这个topic生产了一条消息内容是hello-pulsar。 消费者 执行./pulsar-client consume my-topic -s “first-subscription”即可从my-topic这个topic消费消息。生产者客户端和消费者客户端都会自动创建topic如果操作的topic不存在的话 先投递消息后消费日志打印消费成功。