Apache RocketMQ

RocketMQ介绍与云服务器安装

天大地大妈咪最大 提交于 2020-05-02 00:26:44
RocketMQ 介绍与概念 在github上的说法来看: Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可扩展性。它提供了多种功能: 发布/订阅消息模型和点对点 预定的消息传递 消息追溯性按时间或偏移量 记录流媒体的中心 大数据集成 可靠的FIFO和严格的有序消息传递在同一队列中 高效的推拉消费模式 单个队列中的百万级消息累积容量 多种消息传递协议,如JMS和OpenMessaging 灵活的分布式横向扩展部署架构 Lightning-fast批处理消息交换系统 各种消息过滤器机制,如SQL和Tag Docker图像用于隔离测试和云隔离集群 功能丰富的管理仪表板,用于配置,指标和监控 访问控制列表 消息跟踪 上面都是官方列举出来了,还有如下特点: 支持Broker和Consumer端消息过滤 支持拉pull和推push两种消费模式,也就是上面说的推拉消费模式 支持单master节点,多master节点,多master节点多slave节点 消息失败重试机制,支持特定level的定时消息 新版本底层采用Netty 官方网站: http://rocketmq.apache.org/docs/motivation/ 也对RocketMQ和ActiveMQ以及Kafka做了一个对比. 核心概念 参考: http:/

分布式事务解决方案之可靠消息最终一致性(五)

走远了吗. 提交于 2020-05-01 18:01:10
可靠消息最终一致性 可靠消息最终一致性指是事务的发起方在完成本地事务并发送消息,事务的参与方(消费方)一定能够接收消息并处理成功,此方案强调消息只要发给事务参与方最终事务达到一致。 此方案利用消息中间件完成,事务发起方(生产者)将消息发给中间件,事务参与方(消费者)从消息中间件中获取消息。事务发起方与中间件,事务参与方与中间件之间都是由网络连接的,由于网络的不确定性,引起了分布式事务问题。 因此,消息可靠最终一致性方案需要解决如下问题: 本地事务与消息发送的原子性问题:即只要本地事务执行完成,消息到达中间件有一定要完成。 事务参与方接受消息可靠性:事务参与者可以从消息对列中接受到消息,如果接收失败,可以重复接收消息。 信息重复消费问题:消费节点超时会引起信息重复投递,可能会导致消息重复消费。需要实现事务参与方的幂等性。 解决方案 本地消息表方案 最初由eBay提出该方案,该方案的核心是通过本地事务的方式,保证数据业务操作和消息的一致性,然后通过定时任务将消息发送至消息中间件,待确认消息发送给消费方后再删除表中消息。 交互流程: 注册用户与存储积分消息作为本地事务进行处理。 定时任务触发扫描对应积分消息表。 消费消息,使用MQ的ack机制,消费者监听MQ,如果消费者接收到消息并且业务处理完成后,想MQ发送ack,此时说明消费者正常消费消息完成,MQ不再向消费者推送消息

【Redis】基础学习概览【汇总】

不羁的心 提交于 2020-05-01 06:13:46
一、概述 1.1 简介 1.2 Redis单线程好处 1.3 单线程弊端 1.4 Redis应用场景 1.5 Redis 和 Memecached 的区别 二、安装、开启以及关闭 三、Redis基本数据类型 四、SpringBoot整合Redis 五、Redis发布订阅 六、Redis主从复制 七、Redis哨兵机制 八、Redis事务 九、SpringBoot+Redis+Ehcache实现二级缓存 十、Redis持久化方式 十一、Redis集群方式 十二、Redis 缓存雪崩和缓存穿透 十三、用Redis解决分布式Session 一、概述 1.1 简介 Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。 Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由 C语言 编写。官方提供的数据是可以达到100000+的qps, Redis是一个非关系型数据库(NoSQL) 内存数据库,以key value方式进行存储 Redis以单线方式存储,既然是单线程

【云栖号案例 | 互联网】智启蓝墨通过块存储提升云班课核心业务性能

天大地大妈咪最大 提交于 2020-04-30 18:34:35
云栖号案例库: 【点击查看更多上云案例】 不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 公司介绍 北京智启蓝墨信息技术有限公司(以下简称蓝墨)成立于2012年,地处北京市海淀区,是一家由美国留学生回国创业的高科技公司,专注于移动互联时代数字出版和移动学习领域的新技术研究及平台运营,依托自主研发的蓝墨移动交互式数字教材核心技术体系,为出版社、学校和教师提供移动交互式数字教材、校园移动学习平台及教师自助数字出版等解决方案的公司。 蓝墨基于人工智能、云技术、大数据和移动互联技术,研发推动教学模式变革的智能云教学平台。 业务痛点 云班课是我们的一款免费课堂互动教学App,高效云盘无法满足学生、教师和家长部分使用的性能需求,需要更高速的块存储解决方案。 解决方案 采用ESSD云盘作为ECS的存储,承载云课班核心业务系统,满足数据处理方面的低时延、高IOPS的性能需求。 上云价值 ESSD云盘提供稳定低时延、高吞吐能力,满足核心业务的性能需求。 ESSD云盘具备9个9数据高可靠性,支持弹性扩容,实现存储资源随业务发展而灵活扩展,运维更简单。 当前ESSD覆盖约30台虚拟机。 相关产品 DDoS高防IP DDoS高防IP是针对互联网服务器(包括非阿里云主机)在遭受大流量DDoS攻击后导致服务不可用的情况下,推出的付费服务,用户可通过配置高防IP

定时和延时问题在业务场景中的常见处理

百般思念 提交于 2020-04-28 19:57:50
如何优雅的处理业务流程和信息分发中的定时和延时问题? 本文将从如何处理业务流程和信息分发中的定时和延时问题出发,横向比较了业界常见的几种方案,如直接多线程编码、Spring定时调度框、大型分布式调度框架、消息中间件定时消息,因为消息中间件接口友好,调用方便,性能稳定,特别推荐了使用消息中间件来处理此类问题。同时对比了ActiveMQ、RabbitMQ和RocketMQ三种消息中间件在此类场景中的优劣势。 为了帮助大家理解消息中间件的使用,特别列举了三种常见场景及使用方案,同时列举了消息中间件RocketMQ定时消息的优势,近期定时消息特性会做大的更新,推出的新版定时消息已在阿里内部,稳定运行近两年,近期会发布到公有云上,敬请期待。 1 适用场景 在业务处理流程和信息分发过程中,定时延时处理的需求可谓无处不在。如何优雅的满足想要在未来的某个时间点,处理预期事件、分发既定信息,满足对时间线的强诉求场景和业务逻辑的设计,常常也是我们经常会遇到的问题。笔者在横向对比过几个常用的技术方案之后,大概总结如下,分别都会有不同的优缺点:** 直接多线程编码 Spring定时调度框 大型分布式调度框架 消息中间件定时消息 优点 较少 1.spring集成环境,方便开发者集成。 2.接口、注解友好,方便开发者使用。 3.适合单机使用。 1.专用于分布式调度处理场景。 2.充分利用业务机器资源

【RabbitMQ学习之一】RabbitMQ入门

╄→гoц情女王★ 提交于 2020-04-27 20:41:38
环境   win7   rabbitmq-server-3.7.17   Erlang 22.1   RabbitMQ使用Erlang语言开发消息中间件。RabbitMQ基于AMQP(高级消息队列协议)协议,更适合业务系统、交易系统做消息缓冲的场景,比如订单缓冲等,要求稳定性高、严谨、丢数据可能性小; kafka适合做日志、大数据中数据交换缓冲,优势是吞吐量大,相对rabbitMQ丢数据可能性弱。阿里新版本的RocketMQ既可应用于业务交易系统,也适用于日志系统。 1、安装 需要先安装Erlang在安装RabbitMQ,安装(含windows和linux)参考:https://blog.csdn.net/hellozpc/article/details/81436980#RabbitMQ_12 windows安装 Linux安装 windows安装后目录一览: 2、启动 (1)启用插件 rabbitmq-plugins enable rabbitmq_management (2)开启和关闭 停止:net stop RabbitMQ 启动:net start RabbitMQ 3、验证 浏览器地址输入管理界面URL:http://127.0.0.1:15672/,默认账号登录:guest/ guest 4、管理界面的一些操作 参考 参考: RabbitMQ教程 Kafka

MQTT

与世无争的帅哥 提交于 2020-04-26 12:25:28
1. MQTT协议 这段时间吧,很有幸,解除到了一种协议MQTT,之前呢,在一些同行的盆友口中也略有耳闻。但是也仅仅是听过,并没有下来花什么时间对它进入太多的了解与熟悉。现在不同,工作项目中有所应用,这下我就不得不去了解了。我们搞技术的就是这样,很多时候,对于新鲜的事务可能没有到真实应用的时候,并不会去刻意的了解与学习,只有等到要用的时候,才去学习。哎!都是被工作赶着走的人儿呢。尴尬!! 好了,言归正转。我们来聊聊MQTT。 首先我来说一下这篇文章的标题,可能会把人带偏,其实MQTT并不是一种消息中间件,MQTT是一种通信传输协议。只是我们可以去基于MQTT规范去实现一个MQTT的消息中间件。所以人们可以将这一类实现了MQTT协议的中间件服务统称为MQTT消息中间件,我暂时是这么理解的。 说到MQTT协议,那么MQTT是一种什么协议呢。MQTT是IBM定义的一种比较轻量级的发布定于模式消息传输协议。主要用于针对物联网应用中低宽带和网络环境不是很稳定的场景。比如什么智能硬件啊,车联网等,智能家居,智能电器,智慧城市,电力,石油,能源等市场。 MQTT协议的特点: 开放消息协议,简单易实现 发布订阅模式,一对多消息发布 基于TCP/IP网络连接 1字节固定报头,2字节心跳报文,报文结构紧凑 消息QoS支持,可靠传输保证 目前MQTT V3.1.1应用比较广泛

更多免费初级中级高级大数据java视频教程下载 加(微***信((号keepper,请备注java或扫下面2二3维4码rocketmq_new

孤街浪徒 提交于 2020-04-26 08:18:00
更多免费初级中级高级大数据java视频教程下载 加(微***信((号keepper,请备注java或扫下面2二3维4码rocketmq_new java视频教程代码资料 java视频教程RocketMQ-master.zip java视频教程rocketMQ使用手册.pdf java视频教程rocketmq参数配置.pdf java视频教程RocketMQ用户指南v3.2.4.pdf java视频教程RocketMQ运维指令整理.docx java视频教程视频资料 java视频教程112_RocketMQ_简介.mp4 java视频教程113_RocketMQ_环境搭建(一).mp4 java视频教程114_RocketMQ_环境搭建(二).mp4 java视频教程115_RocketMQ_HelloWorld示例.mp4 java视频教程RocketMQ(New) java视频教程alibaba-rocketmq-3.2.6.tar.gz java视频教程alibaba-rocketmq-client-java-3.2.6.tar.gz java视频教程RocketMQ-master.zip java视频教程rocketmq-transaction-balance.rar java视频教程rocketmq-transaction-pay.rar

更多免费初级中级高级大数据java视频教程下载 加(微***信((号keepper,请备注java或扫下面2二3维4码rocketmq

这一生的挚爱 提交于 2020-04-26 06:08:22
更多免费初级中级高级大数据java视频教程下载 加(微***信((号keepper,请备注java或扫下面2二3维4码rocketmq java视频教程(033)RocketMQ简介、环境搭建 java视频教程20160309001.mp4 java视频教程20160309002.mp4 java视频教程20160309003.mp4 java视频教程20160309004.mp4 java视频教程(034)RocketMQ HelloWorld示例、 重试策略讲解 java视频教程2016-3-10-01.mp4 java视频教程2016-3-10-02.mp4 java视频教程2016-3-10-03.mp4 java视频教程(035)RocketMQ 架构设计、双主双从集群环境搭建、顺序消费、事务消费 java视频教程20160314-001.mp4 java视频教程20160314-002.mp4 java视频教程20160314-003.mp4 java视频教程20160314-004.mp4 java视频教程20160314-005.mp4 java视频教程20160314-006.mp4 java视频教程(036)RocketMQ API使用简介、拉取机制 java视频教程20160316001.mp4 java视频教程20160316002.mp4

消息中间件的四种投递模式对比

人走茶凉 提交于 2020-04-24 14:33:11
原文出自田守枝的技术博客:https://mp.weixin.qq.com/s?__biz=MzA5MDA5Njk0NQ==&mid=2456618900&idx=1&sn=ebbd4a2f3f8f42f71fa0925b70a9fb1e&utm_source=tuicool&utm_medium=referral 消息中间件( Message Oriented Middleware,简称MOM)在企业开发中变得越来越重要。本文介绍消息中间件中的四种消息投递模型,主要是介绍模型的核心特性,以及不同模型之前的区别。这四种模型分别是: PTP模型 Pub/Sub模型 Partition模型 Transfer模型 其中PTP模型和Pub/Sub模型在JMS规范中有定义,消息中间件ActiveMQ就实现了JMS规范。然而一些消息中间件,并没有实现JMS规范,而是自己设计出了一套模型,例如Kafka和RocketMQ就采用了Partition模型。此外业界还有一些其他的消息投递模型,例如Transfer模型,这是笔者自己起的名字。 PTP模型 Point-to-Point,点对点通信模型。PTP是基于队列(Queue)的,一个队列可以有多个生产者,和多个消费者。消息服务器按照收到消息的先后顺序,将消息放到队列中。队列中的每一条消息,只能由一个消费者进行消费,消费之后就会从队列中移除。