首页 > 其他分享 >消息中间件概念

消息中间件概念

时间:2022-08-22 11:49:27浏览次数:82  
标签:http JMS 支持 概念 消息 消息中间件 Java

什么是JMS

  1. Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口。
  2. JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。JDBC 是可以用来访问许多不同关系数据库的 API。

消息队列的使用场景(核心应用)

1. 解耦:订单系统  --> 物流系统
2. 异步:用户注册  --> 发送邮件,初始化信息
3. 削峰:秒sha、日志处理
4. 分布式事务
5. 最终一致性
6. RPC调用上下游对接,数据源变动 -->通知下属

主流的消息队列有哪些

Apache ActiveMQ
Kafka
RabbitMQ
RocketMQ

主流的消息队列优缺点

  1. ActiveMQ:http://activemq.apache.org/

ActiveMQ是Apache出品,历史悠久,支持多种语言的客户端和协议,支持多种语言Java, .NET, C++ 等,基于JMS Provider的实现
缺点:吞吐量不高,多队列的时候性能下降,存在消息丢失的情况,比较少大规模使用。

  1. Kafka:http://kafka.apache.org/

是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理大规模的网站中的所有动作流数据(网页浏览,搜索和其他用户的行动),副本集机制,实现数据冗余,保障数据尽量不丢失;支持多个生产者和消费者
缺点:不支持批量和广播消息,运维难度大,文档比较少, 需要掌握Scala

  1. RabbitMQ:http://www.rabbitmq.com/

RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不错
缺点:使用Erlang开发,阅读和修改源码难度大

  1. RocketMQ:http://rocketmq.apache.org/

RocketMQ是阿里开源的一款的消息中间件, 纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点, 性能强劲(零拷贝技术),支持海量堆积, 支持指定次数和时间间隔的失败消息重发,支持consumer端tag过滤、延迟消息等,在阿里内部进行大规模使用,适合在电商,互联网金融等领域使用

标签:http,JMS,支持,概念,消息,消息中间件,Java
From: https://www.cnblogs.com/shiguanghui123/p/16612276.html

相关文章

  • 这些网络协议的基本概念你可要知道
    为什么需要网络协议在没有网络协议的阶段,公司有自己的标准,而不同公司、网页之间请求响应不能互通,要适应繁多不同的规范,非常的混乱。当制定了统一的规范之后,每个公司、产......
  • Redis_概念
    概念:redis是一款高性能的NOSQL系列的非关系型数据库什么是NOSQLNoSQL(NoSQl=NotOnlySQL),意即“不仅仅是SQL”,是一项全新的数据库理念泛指非关系型的数据库随着互......
  • Spring相关概念
    1.初识Spring官网:https://spring.io。Spring能干什么:用以开发web、微服务以及分布式系统等Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每......
  • Redis概念
    Redis概念:redis是一款高性能的NOSQL系列的非关系型数据库什么是NOSQLNOSQL(NoSQL=NotOnlySQL),意即"不仅仅是SQL",是一项全新的数据库理念,泛指非关系型的数据库......
  • SpringBoot的基本概念(1)
     1.为什么使用springboot springboot容易上手,做了jar包的版本控制,不用考虑maven依赖,方便敏捷开发,内置tomcat减少开发配置,由于SPI提供对外的starter扩展。 2.spr......
  • 11.3 垃圾回收相关概念
    目录11.3.1System.gc()的理解11.3.2内存溢出与内存泄漏内存溢出(OOM)内存泄漏(MemoryLeak)11.3.3StopTheWorld11.3.4垃圾回收的并行与并发并发(Concurrent)并行(Parallel)并......
  • JSON概念和语法定义
    JSON概念概念:JavaScriptObjectNotationJavaScript对象表示法Personp=newPerson();p.setName("张三“);p.setAge(23);p.setGender("男");varp={"name":"张三"......
  • AJAX_概念和AJAX原生js方式
    AJAX_概念概念:ASynchronousJavaScriptAndXML异步的JavaScript和XML异步和同步:客户端和服务器端相互通信的基础上客户端必须等待服务器端的响应在等待期间客户端......
  • JSON_概念和JSON_语法_定义
    JSON:概念:JavaScriptObjectNotationJavaScript对象表示法Personperson=newPerson();person.setName("张三");person.setAge(23);person.setGender("男");v......
  • Kafka——Controller、Rebalance、HW的基础概念
    Kafka——Controller、Rebalance、HW1.ControllerKafka集群中的broker在zk中创建临时序号节点,序号最小的节点(最先创建的节点)将作为集群的controller,负责管理整个集群中......