当前位置: 首页 > 知识库问答 >
问题:

使用apache kafka或actiemq什么更好?

咸利
2023-03-14

我们将收到处理该物品属于以下任何组的请求-

  1. Grp1-

我们收到3个A1、B1、C1请求。由于所有请求都属于同一组,因此应按顺序处理这些请求(在提取下一个请求进行处理之前,应先完成当前请求)

我们收到了4个A1、A2、B2、B3请求,其中A2和B2请求属于同一组,因此应按场景1中所述顺序处理,A1和B3请求应并行处理,因为它们属于不同的组

因此,基本上应该并行处理来自不同组的请求。来自同一组的请求应按顺序处理。

我们计划使用Apache Kafka或actiemq执行此操作,如下所示-

  • 创建主题
  • 将主题划分为多个分区,每个组将分配一个分区,因此分区数将等于组数
  • 属于特定组的每个请求都将发送到分配给该组的分区
  • 每个分区将有一个专用的使用者,该使用者将只处理来自该分区的请求
  1. 哪一个最适合Apache Kafka或activemq的要求

注意:给定的应用程序可以是运行多个实例的分布式微服务应用程序。

共有1个答案

萧阳波
2023-03-14

我不知道ActiveMQ,但您描述的基本上是Kafka的工作原理。分区中所有生成的事件都是按该顺序排序和处理的,在使用者组中,每个分区只能有一个使用者

您需要实现的唯一部分是分区器接口,以保证您的组到分区逻辑。否则,默认分区器不会保证X1和Y2最终成为同一分区的一部分

 类似资料:
  • 问题内容: 我需要创建一个使用12个参数的存储过程,并使用此参数的不同组合来过滤查询。所有12个参数都不是强制性的,好像我传递3或5或12个参数取决于用户输入的搜索输入。 我可以使用动态SQL查询或“ Case where”语句创建2种方法。这些查询的示例如下: 动态查询 DECLARE @condition VARCHAR(MAX)=’‘ Declare @var1 varchar(10) De

  • 问题内容: 这个问题对我来说只是个问题,因为我一直喜欢编写优化的代码,这些代码也可以在廉价的慢速服务器(或具有大量流量的服务器)上运行 我环顾四周,却找不到答案。我想知道在这两个示例之间有什么更快的方法,请牢记在我的案例中数组的键并不重要(自然是伪代码): 因为问题的关键不是数组冲突,所以我想补充一点,如果您担心冲突的插入,可以使用。它仍然可能导致冲突,但是当从用户提供的文件中读取时,它可以避免可

  • 问题内容: 我的Java应用程序使用JPA进行对象持久化。业务域非常简单(只有三个类是持久性的,每个类具有3-5个属性)。查询也很简单。问题是我应该使用哪种方法:JPQL或CriteriaAPI? 问题答案: 我很确定这已经在本文中讨论过了,但是我找不到现有的问题。所以,这是我对这个问题的看法: 我发现JPQL查询更易于编写/阅读。 我发现Criteria API非常适合构建动态查询。 基本上可以

  • 我已经在kafka上工作了相当长的六个月,我对用户延迟和存储到主题分区中的数据有一些疑问。 问题1:最初,当我开始阅读Kafka并了解如何使用Kafka的功能时,我被教导说,一个只有一部分和一个复制因子的主题会创造奇迹。经过相当长的六个月的工作,将我的项目迁移到live之后,使用我的主题消息的消费者开始给我一个延迟。我阅读了许多关于消费者延迟的堆栈溢出答案,得出结论,如果我增加某个主题的分区和复制

  • 问题内容: 使用弱引用是我从未见过的实现方式,因此,我试图弄清楚它们的用例是什么以及实现将如何工作。你何时需要使用WeakHashMap或WeakReference以及如何使用它? 问题答案: 强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免

  • 我已经实现了32位单精度浮点加法/减法、乘法、余弦、正弦、除法、平方根和范围缩小,所有这些都是在这个体系结构上的软件。 为了实现余弦和正弦,我首先使用了范围约简,使用了K.C.在论文“大参数的参数约简”中描述的方法。NG I然后实现了一个余弦和正弦函数,这是余弦和正弦函数在-pi/4到+pi/4范围内的多项式逼近。我参考了哈特等人的《计算机近似值》一书。对于多项式。 我也听说我应该考虑CORDIC