zoukankan      html  css  js  c++  java
  • java消息中间件的使用与简介

    一、为什么要使用消息中间件

           消息中间件就是可以省去繁琐的步骤,直达目的,怎么讲呢,就是比如你想很多人,知道你的动态,而知道的人可能手机没电,可能手机信号不好,可能手机不在服务区,或者看的人比较忙,看的时间不固定,这样的时候,你发送的消息怎么会让其看到呢,就是建立一个微信公众号,可以满足用户随时看到你想让其看到的消息,这就是中间件的一种应用方式,生活中老师讲课的黑板,家中的电视机都是中间件的一种体现方式。

    消息中间件的好处

    1、解耦

    2、异步

    3、横向扩展 :就是可以通过一个中间件进行一个功能多次的操作

    4、安全可靠   消息中间件可以把消息保存

    5、顺序保存,比如kafka

    二、什么是中间件

          非底层操作系统软件,非业务应用软件,不是给最终用户使用,不能直接给用户带来价值的软件统称为中间件。

    三、什么是消息中间件

          关注于数据的发送和接受,利用高效可靠的异步消息传递机制集成分布式系统。

    四、什么是JMS

           Java消息服务(Java Message Service)即JMS,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

    五、什么是AMQP

            AMQP(advanced message queuing protocol)是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制.

    常见消息中间件对比

    1、ActiveMQ

            ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线. ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位.

    ActiveMQ特性

            (1)多种语言和协议编写客户端.语言:

                    Java,C,C++,C#,Ruby,Perl,Python,PHP.

            (2)应用协议:

                     OpenWire、Stomp REST,WS Notification,XMPP,AMQP

             (3)完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务)

              (4)虚拟主题、组合目的、镜像队列

    2、RabbitMQ

              RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

     RabbitMQ特性    

             (1)支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript等

             (2)AMQP的完整实现(vhost、Exchange、Binding、Routing Key 等)

             (3)事务支持/发布确认

             (4)消息持久化

    3、Kafka

            Kafka是一种高吞吐量的分布式发布订阅消息系统,是一个分布式的、分区的、可靠的分布式日志存储服务。它通过一种独一无二的设计提供了一个消息系统的功能。(不是个严格的中间件,主要是用于日志转存的)

     Kafka特性:

        (1)通过O(1)  的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

        (2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

        (3)Partition、Consumer Group

  • 相关阅读:
    BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
    Xiaocms 去版权
    nodejs学习8:windows连接mongodb出现的错误解决办法
    gulp运行步骤
    电脑日常技巧:没有语言栏,怎么办???
    jquery中使用each遍历。
    一、Java基礎(二)
    一、Java基础(一)
    《JAVA编程思想》第四版 PDF
    TCP、UDP详解与抓包工具使用
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/7813226.html
Copyright © 2011-2022 走看看