甲乙小朋友的房子

甲乙小朋友很笨,但甲乙小朋友不会放弃

0%

中间件入门

中间件概念

中间件:处于操作系统和应用程序之间的软件。

中间件简单解释,可以理解为面向信息系统交互,集成过程中的通用部分的集合,屏蔽了底层的通讯,交互,连接等复杂又通用化的功能,以产品的形式提供出来,系统在交互时,直接采用中间件进行连接和交互即可,避免了大量的代码开发和人工成本。

其实,理论上来讲,中间件所提供的功能通过代码编写都可以实现,只不过开发的周期和需要考虑的问题太多,逐渐的,这些部分,以中间件产品的形式进行了替代。

比如常见的消息中间件,即系统之间的通讯与交互的专用通道,类似于邮局,系统只需要把传输的消息交给中间件,由中间件负责传递,并保证传输过程中的各类问题,如网络问题,协议问题,两端的开发接口问题等均由消息中间件屏蔽了,出现了网络故障时,消息中间件会负责缓存消息,以避免信息丢失。相当于你想给美国发一个邮包,只需要把邮包交给邮局,填写地址和收件人,至于运送过程中的一系列问题你都不需要关心了。

中间件分类

  1. 消息中间件(MOM:Message-Oriented Middleware)
  2. 数据中间件(Database Middleware)
  3. 远程过程调用中间件(RPC:Remote Process Call)
  4. 对象请求代理中间件(ORB:Object Request Broker)
  5. 事务处理中间件(TP Monitor:Transaction Process Monitor)
  6. J2EE中间件

Open-Messaging

是一个建立行业内的指引和消息的协议(charter)。它的streaming规范提供了一个可用于电子商务、物联网和大数据的基础框架。它的主要目标是建立一个在分布式异构环境中面向云、简单、灵活和独立于语言的环境。协议的一致性似的它可以跨平台开发异构消息应用程序。

域结构

消息中间件 Message Queue

Message Queue是一种应用程序对应用程序的通信方法。程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

提及消息中间件的时候,还会涉及生产者和消费者两个概念。消息中间件是负责接收来自生产者的消息,并存储并转发给对应的消费者,生产者可以按 topic 发布各样消息,消费者也可以按 topic 订阅各样消息。生产者只管往消息队列里推送消息,不用等待消费者的回应;消费者只管从消息队列中取出数据并处理,可用可靠性等问题都交由消息中间件来负责。 生产者和消费者通常有两种对应关系,一个生产者对应一个消费者,以及一个生产者对应多个消费者。

参考文献

1.知乎FireJones的回答 2.极客学院,消息中间件