zoukankan      html  css  js  c++  java
  • 二:apache的Qpid消息中间件介绍

    一:什么是Qpid?
    --->Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信。
    --->Qpid 提供了 C++/Python/Java/C# 等主流编程语言的客户端库,安装使用非常方便。


    二:Qpid的出现的原因?
    --->在系统间通信最基础的通信方式是 socket,但 socket 比较底层。使用起来非常不易。如果需要一些高级特性,需要很多的编程负担。
    --->比如企业级应用往往有巨量的数据需要交换,对可靠性的要求也比较高。比如一个分布式的财务处理软件,每时每刻都有成千上万的用户在使用,需要产生难以想象 的海量消息,每个消息可能都关乎某人的银行账户等关键信息,如果丢失将带来巨大损失。编写这样一个通信中间件不是一件容易的事情,即使编写出来,假如需要 和其他的软件系统交互信息,又需要大量的格式转换,接口迁移等工作。
    --->为了解决以上这些问题,人们开发出了很多的软件产品和协议。从早期的 RPC,到复杂的面向消息的中间件 (MOM),再到 JMS,人们取得了很多的进步,
    --->RPC,Corba 等技术是同步的,即调用者必须等待对方的回复,这意味着调用者必须了解接收者,是一种紧耦合的模型。紧耦合意味着不灵活,而在软件行业唯一不变的就是变化,当需求和环境发生变化时,紧耦合的应用修改代价非常高。
    --->为此众多的消息中间件产品应运而生,打破了消息生产者和消费者之间的紧耦合关系。但中间件产品是由各个厂商自行定义和实现的,在整合企业级应用的时候,人们发现各种应用往往采用了不同的技术和中间件产品,要想让这些产品互通消息,又是一件非常困难的事情。
    --->JMS 是标准化的一种努力,但其缺点在于 JMS 是 J2EE 的标准,假如不是采用 Java 技术实现的产品,想使用 JMS 还是比较麻烦的。
    --->假如这正是您时时刻刻所想的问题,那么 Qpid 便是您值得了解的一款开源软件。它实现了可靠复杂的通信中间件,支持多种通信模型,效率高,平台语言无关,而且实现了业界的通信标准 AMQP。

    三:企业级别消息通信的模型?
    --->点对点:A 发消息给 B。
    --->广播:A 发给所有其他人的消息
    --->组播:A 发给多个但不是所有其他人的消息。
    --->Requester/response:类似访问网页的通信方式,客户端发请求并等待,服务端回复该请求
    --->Pub-sub:类似杂志发行,出版杂志的人并不知道谁在看这本杂志,订阅的人并不关心谁在发表这本杂志。出版的人只管将信息发布出去,订阅的人也只在需要的时候收到该信息。
    --->Store-and-forward:存储转发模型类似信件投递,写信的人将消息写给某人,但在将信件发出的时候,收信的人并不一定在家等待,也并不知道有消息给他。但这个消息不会丢失,会放在收信者的信箱中。这种模型允许信息的异步交换。
    --->其他通信模型。。。

  • 相关阅读:
    cocos2dx 3.4 截图代码
    cocos2dx android平台事件系统解析
    cocos2dx3.4 保存json文件
    cocos2dx3.4 解析json文件
    cocos2dx3.4 分割plist图片
    cocos2dx3.4 导出节点树到XML文件
    win7系统cocos2dx 3.4 绑定自定义类到Lua
    cocos2dx 3.3创建新项目 和 VS2012解决方案加载失败问题
    浅谈端口扫描
    PHP 通过.user.ini 绕过黑名单限制
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/5692184.html
Copyright © 2011-2022 走看看