当前位置: 首页 > wzjs >正文

网站真人主持网页制作app

网站真人主持,网页制作app,河北建设网官方网站,如何创建旅游网站在下面的示例中,我们发布了一个名为hello pulser participated的主题。这是一个被分区的主题,对于这个示例,我们假设该主题已经创建了三个分区。SpringBootApplication public class PulsarBootPartitioned {public static void main(String[…

在下面的示例中,我们发布了一个名为hello pulser participated的主题。这是一个被分区的主题,对于这个示例,我们假设该主题已经创建了三个分区。

@SpringBootApplication
public class PulsarBootPartitioned {public static void main(String[] args) {SpringApplication.run(PulsarBootPartitioned.class, "--spring.pulsar.producer.message-routing-mode=CustomPartition");}@Beanpublic ApplicationRunner runner(PulsarTemplate<String> pulsarTemplate) {pulsarTemplate.setDefaultTopicName("hello-pulsar-partitioned");return args -> {for (int i = 0; i < 10; i++) {pulsarTemplate.sendAsync("hello john doe 0 ", new FooRouter());pulsarTemplate.sendAsync("hello alice doe 1", new BarRouter());pulsarTemplate.sendAsync("hello buzz doe 2", new BuzzRouter());}};}@PulsarListener(subscriptionName = "hello-pulsar-partitioned-subscription", topics = "hello-pulsar-partitioned")public void listen(String message) {System.out.println("Message Received: " + message);}static class FooRouter implements MessageRouter {@Overridepublic int choosePartition(Message<?> msg, TopicMetadata metadata) {return 0;}}static class BarRouter implements MessageRouter {@Overridepublic int choosePartition(Message<?> msg, TopicMetadata metadata) {return 1;}}static class BuzzRouter implements MessageRouter {@Overridepublic int choosePartition(Message<?> msg, TopicMetadata metadata) {return 2;}}}

在前面的示例中,我们发布到一个分区的主题,我们想将一些数据段发布到特定的分区。如果您将其保留为Pulsar的默认值,它将遵循分区分配的轮转模式,我们希望覆盖该模式。为此,我们提供了一个带有send方法的消息路由器对象。考虑实现的三个消息路由器。FooRouter始终将数据发送到分区0,BarRouter发送到分区1,BuzzRouter发送给分区2。还要注意,我们现在使用PulsarTemplate的sendAsync方法,该方法返回CompletableFuture。运行应用程序时,我们还需要将生产者上的messageRoutingMode设置为CustomPartition(spring.pulsinger.producer.message路由模式)。

在消费者端,我们使用具有独占订阅类型的PulsarListener。这意味着来自所有分区的数据最终都在同一个消费者中,并且没有订购保证。

如果我们希望每个分区由一个不同的消费者使用,我们该怎么办?我们可以切换到故障转移订阅模式,并添加三个单独的消费者:

@PulsarListener(subscriptionName = "hello-pulsar-partitioned-subscription", topics = "hello-pulsar-partitioned", subscriptionType = SubscriptionType.Failover)
public void listen1(String foo) {System.out.println("Message Received 1: " + foo);
}@PulsarListener(subscriptionName = "hello-pulsar-partitioned-subscription", topics = "hello-pulsar-partitioned", subscriptionType = SubscriptionType.Failover)
public void listen2(String foo) {System.out.println("Message Received 2: " + foo);
}@PulsarListener(subscriptionName = "hello-pulsar-partitioned-subscription",  topics = "hello-pulsar-partitioned", subscriptionType = SubscriptionType.Failover)
public void listen3(String foo) {System.out.println("Message Received 3: " + foo);
}

当你遵循这种方法时,一个分区总是被一个专用的消费者占用。

同样,如果你想使用Pulsar的共享消费者类型,你可以使用共享订阅类型。但是,当您使用共享模式时,您将失去任何排序保证,因为单个消费者可能会在另一个消费者有机会之前收到来自所有分区的消息。

考虑以下示例:

@PulsarListener(subscriptionName = "hello-pulsar-shared-subscription", topics = "hello-pulsar-partitioned", subscriptionType = SubscriptionType.Shared)
public void listen1(String foo) {System.out.println("Message Received 1: " + foo);
}@PulsarListener(subscriptionName = "hello-pulsar-shared-subscription", topics = "hello-pulsar-partitioned", subscriptionType = SubscriptionType.Shared)
public void listen2(String foo) {System.out.println("Message Received 2: " + foo);
}

http://www.dtcms.com/wzjs/233114.html

相关文章:

  • 手机在网上怎么创建自己的网站百度首页网址是多少
  • 安徽伟诚建设工程有限公司网站策划公司是做什么的
  • 武汉S001网站建设哪家好30条新闻摘抄
  • 化妆品网站主页设计网站排名查询
  • 网站无法访问seo软件安卓版
  • 网站建设和推广需要多少费用关键词优化推广
  • 外贸网站用什么字体seo优化中以下说法正确的是
  • 怎么申请建立一个公司网站正规接单赚佣金的平台
  • 做哪些网站比较赚钱方法有哪些seo诊断方案
  • 重庆龙头寺找做墩子师傅网站好的seo网站
  • 六兄弟做网站百度网址导航
  • 专业网站设计公司有哪些今日头条新闻最全新消息
  • 网站怎么做会让神马搜索到网站seo综合查询
  • 云南网站建设公司排行平台运营推广方案
  • 广东网广东网站建设护肤品软文推广
  • 公司品牌网站建设武汉seo结算
  • 自己做网站需要学什么软件下载百度权重工具
  • 做类似美团的网站得多少钱百度教育会员
  • 购物网站设计图如何制作网站免费建站
  • 招远做网站价格百度一下电脑版网页
  • 梨园网站建设电商推广和网络推广的策略
  • 有免费的微网站是什么百度推广客户端下载安装
  • 潜江资讯网招聘seo站内优化包括
  • 响应式网页制作宁波百度seo点击软件
  • 计算机网络技术毕业论文广州seo网站
  • webapp 做视频网站百度热搜关键词
  • 大连html5网站建设报价哪有网页设计公司
  • 杭州工作招聘网石家庄seo优化公司
  • 网站建设郑州宁波seo外包公司
  • 网站建设公司net2006保定网站推广公司