消息队列基础概念

消息队列

基础概念

常见的消息队列产品

  • ActiveMQ,是Apatche出品的、采用Java语言编写的、完全基于JMS1.1规范的、面向消息的中间件
  • RabbitMQ,采用Erlang语言实现的AMQP协议的消息中间件
  • RocketMQ,是阿里开源的、由Java语言编写的消息中间件,现已经捐献给了Apache基金会
  • ZeroMQ,基于C/C++开发的消息中间件
  • Kafka

功能维度

队列特性

  • 优先级队列
  • 延时队列
  • 重试队列
  • 死信队列

消息发送方式

  • 同步发送
  • 异步发送
  • 单向发送,不可靠消息发送方式,消息有丢失的风险,但效率最高,常用于日志等

发送数量

  • 批量发送
  • 单条发送

消费模式

  • Push(推)
    • 由Broker主动将消息推送给Consumer
    • 实时性高,但需要评估Consumer的消费能力,避免超出Consumer的处理范围
  • Pull(拉)
    • 由Consumer主动从Broker拉取消息
    • 实时性低,Consumer会根据自身的处理能力拉取消息

消息传递模式

  • 点对点(P2P,Point-To-Point)
  • 发布与订阅(Pub/Sub)

回溯消费

回溯消费是指消息在消费完成之后,还能再次消费之前被消费的消息

  • 使用场景
    • 索引恢复
    • 本地缓存重建
    • 业务补偿

消息堆积与持久化

  • 使用场景
    • 流量削峰填谷
  • 堆积方式
    • 磁盘堆积
    • 内存堆积

消息轨迹

消息审计

消息过滤

消息过滤是指按照既定规则为下游用户(Consumer)提供指定类别的消息

多租户

多重租赁技术,可以确保各用户间数据的隔离性。例如BabbitMQ可以支持多租户技术

消息队列常见协议

  • AMQP
  • MQTT
  • STOMP
  • XMPP

跨语言支持

是否支持多客户端语言(C、C++、Java、Go、PHP、Python等)

流量控制(Flow Control)

指发送方和接收方速度不匹配时,提供速度匹配服务来抑制发送速度

  • 实现方式
    • 滑动窗口
    • 令牌桶
    • Stop-And-Wait

消息顺序性

指的是保证消息的有序性

安全机制

  • 身份认证,指客户端与服务端连接进行身份认证,常见的认证方式:
    • SSL
    • SASL
    • TLS
  • 权限控制,指对服务端进行的操作的权限控制,包括客户端读写、集群控制等

消息幂等性

指的是一次和多次消费(重复消费)产生的结果是一样的

  • 解决方式
    • 在下游用户(Consumer)端,通过去重表进行保证

事务性消息

性能维度

吞吐量

影响性能的项

  • 内存、磁盘、CPU

  • 宽带、IO

  • 集群规模

  • 分区数与副本因子

  • 事务、顺序消息、定时消息、幂等性等

  • 日志、数据刷盘策略

可靠性和可用性

是否支持数据持久化与数据备份

运维管理

  • 资源申请、审核
  • 监控
  • 告警
  • 管理
  • 容灾
  • 部署
  • 社区活跃度以及生态

事件消息总线

简述

  • 事件总线是一种软件设计模式和架构,允许软件应用程序的组件或服务之间进行通信。它充当应用程序不同部分之间通信的中介,允许它们在不需要组件之间直接耦合的情况下进行通信和交换数据
  • 事件总线概念类似于消息队列,其中消息(也称为“事件”)被广播给订阅了特定类型事件的侦听器。事件总线模式支持组件之间的松散耦合,使得修改或替换组件更容易,而不会影响应用程序的其余部分
  • 事件总线使用各种技术实现,例如内存数据结构、消息队列或发布-订阅系统,具体取决于应用程序的具体要求

常见实现方式

  • Java 消息服务 (JMS):一种基于 Java 的消息传递标准,它为基于 Java 的事件总线实现定义了一个通用接口
  • Apache Kafka:一个开源的分布式事件流平台,通常用作大数据和流应用程序的高性能事件总线
  • RabbitMQ:一个实现高级消息队列协议 (AMQP) 的开源消息代理,通常用作微服务架构的事件总线
  • Microsoft Azure 事件网格:Microsoft Azure 提供的完全托管的事件路由服务,支持事件驱动的体系结构和无服务器应用程序
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z先生09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值