我在Message Brokers和ESB上经历了不同的问题/文章(甚至在stackoverflow上).仍然不是一个线索,因为消息代理和ESB之间的CLEAR划分区别是什么?现在我在这里尝试比较产品,Websphere Broker和Mule ESB !!
首先,(任何版本)Webshere Broker是ESB吗?我们的IBM产品人员声称它是ESB!(我并不感到惊讶).
我的有限信息告诉我Message Broker在HUB-SPOKE模型上工作.然而,ESB适用于总线架构.那究竟是什么意思呢?我读过如果HUB失败(我猜不到)那么经纪人就完全失败了.这不是ESB的情况(所以那些人说).我在这里不明白的是"如果BUS怎么办"失败?
现在关于ESB和Brokers的常见内容是,它们提供路由,转换,编排等.所以如果它们都提供了这个,那么为什么我会选择一个而不是另一个.
另一个冲突领域是转型.与Message Brokers相比,ESB是否以不同的方式为其提供便利?我真的很喜欢这方面的一些见解.
现在谈论HORIZONTAL缩放.谁比谁更优秀?或者它们在复杂性(或任何其他因素)方面都具有相同的可扩展性.当然,Webshpere Broker会为每个盒子收费(更不用说每个cpu)了.我相信,即使是商业上的MULE ESB也不会这样做.暂且不说它的Cost部分,ESB扩展和Message Broker扩展的含义是什么.我碰巧知道您可以扩展到ESB中的服务级别.这是否可以在Message Broker中使用?
在以前的工作中,有很多关于"企业服务总线"(ESB)的讨论.我阅读了关于它的概念书的部分内容,但从未真正理解如何以具体的术语实现/集成它.我熟悉SOA /排队/目录服务/等.但我不明白ESB到底是什么.
它是一个具体的东西(服务/服务器/经纪/等),你只需勾所有的应用程序到它以不同的方式,或者是更多的只是设计系统的概念呢?
任何解释或链接到良好的例子将不胜感激.谢谢.
我正在努力寻找有关NServiceBus和MassTransit的优缺点列表.
现在我知道这里已经有了一个帖子,但它并没有真正回答我的问题.
这是我到目前为止所读到的内容:
NServiceBus较旧,并且有更多参考.很难找到关于MassTransit的东西,但我心胸开阔.但是我必须提供可靠的解决方案,所以我不得不问.
所以,请有这两个框架经验的人.我为什么要选择NServiceBus?或者我为什么要选择MassTransit?
是性能,安全性,规模还是?
嘿,
如果我们有Apache Camel为什么要使用Apache ServiceMix和Mule等其他解决方案?
Apache Camel与这些产品相比无法做到吗?
何时使用Mule/ServiceMix以及何时使用Camel?
我们正在考虑为我们的微服务基础设施(编排)引入基于AMQP的方法.我们提供多种服务,比如客户服务,用户服务,文章服务等.我们计划将RabbitMQ作为我们的中央消息系统.
我正在寻找有关主题/队列等系统设计的最佳实践.一种选择是为我们系统中可能发生的每个事件创建一个消息队列,例如:
user-service.user.deleted
user-service.user.updated
user-service.user.created
...
Run Code Online (Sandbox Code Playgroud)
我认为创建数百个消息队列不是正确的方法,不是吗?
我想使用Spring和这些不错的注释,例如:
@RabbitListener(queues="user-service.user.deleted")
public void handleEvent(UserDeletedEvent event){...
Run Code Online (Sandbox Code Playgroud)
将"用户服务通知"作为一个队列,然后将所有通知发送到该队列是不是更好?我仍然想将听众只注册到所有事件的子集,那么如何解决呢?
我的第二个问题:如果我想要侦听之前未创建的队列,我将在RabbitMQ中获得异常.我知道我可以使用AmqpAdmin"声明"一个队列,但是我是否应该为每个微服务中的数百个队列执行此操作,因为到目前为止总是会发生队列创建?
RabbitMQ如何与Mule相比,我将使用面向消息的架构构建一个应用程序,而AMQP(RabbitMQ)提供了我想要的一切,但我对如此多的相关技术选择和ESB等类似概念感到困惑.如果我在不考虑其他选择的情况下做出选择,我有一个疑问.
我很清楚RabbitMQ是一个消息代理,它帮助我调解生产者和消费者之间的消息(所有形式或发布订阅,我可以理解它如何从真实的例子中使用,如twitter,或Facebook更新等)
什么是骡子,如果我能用骡子实现我在RabbitMQ中做的事情,我应该考虑类似于RabbitMQ的骡子吗?
mule的目标是否与消息代理的目标不同?
mule是否假设底层有一个消息代理将消息传递给适当的mule监听器(我可以在RabbitMQ中轻松编写监听器)
mule是一个完整的Java基础系统(我用RabbitMQ做的当前实验花了我不到30分钟编写一个简单的RPC客户端服务器,客户端作为C#和服务器作为Java,这样的事情很容易在Mule中完成).
作为学习RabbitMQ和python的一种方法,我正在开发一个项目,允许我在许多计算机之间分发h264编码.完成了基础知识,我有一个在Linux或Mac上运行的守护程序,它连接到队列,接受作业并使用HandBrakeCLI对它们进行编码,并在编码完成后确认消息.我还构建了一个简单的工具来将项目推入队列.
现在我想扩展将项目推入队列的工具的功能,以便我可以查看队列中的内容.我知道能够看到队列中有多少项目,但我希望能够获得实际的消息,这样我就可以显示正在等待编码的电影或电视节目.我们的想法是,队列管理器将在作业完成后从编码器客户端接收消息,然后刷新队列列表.
我知道有一种令人费解的方法可以保持队列管理器的列表与实际工作队列同步,但我希望这是"持久的",因为我应该能够关闭队列管理器并稍后重新打开以查看队列.
我们的一些合作伙伴告诉我们,我们的软件需要与企业服务总线进行交互.在对此进行了一些研究后,我的直觉就是说这只是嗡嗡声说我们需要一种以平台为依据的方式来回传递消息.我只是想了解我们的合作伙伴告诉我们的事情.我是否正确地拒绝合作伙伴的要求,只是试图让我们的软件更符合流行语,或者他们是否告诉我们应该听的东西(即使用buzzspeak编码)?
我在哪里可以找到有关企业服务总线(ESB)的用途和好处的一些信息?
我正在寻找有关的信息:
我正在寻找比维基百科或供应商的在线营销手册更精细的细节.理想情况下,一些示例代码将有助于阐明利用ESB所涉及的内容.从.NET或Java角度来看,信息最有用.
谢谢.
我来自MoM的背景.我想我从概念上理解ESB.但是,在建筑方面做出选择时,我不太确定两者之间的实际差异.
这是我想知道的
1)任何在线的良好链接可以帮助我在这方面.
2)有人可以告诉我使用一个在另一个上有意义.
任何帮助都会有用.
esb ×10
messaging ×3
rabbitmq ×3
.net ×2
amqp ×2
java ×2
mule ×2
soa ×2
apache-camel ×1
architecture ×1
eai ×1
integration ×1
jms ×1
masstransit ×1
mom ×1
nservicebus ×1
python ×1
spring-amqp ×1