RocketMQ初探(一)
初学RocketMQ,认识一门新技术,还是哪三问:是什么?能干什么?怎么用?
消息中间件主要是实现分布式系统中解耦、异步消息、流量销锋、日志处理等场景。
Rocketmq是阿里捐赠给Apache的。3.x以下版本为阿里版本。4.x为Apache托管版本。由于目前Apache没有提供直编译的下载文件,所以一般需要maven编译。
一、是什么?
大多数网友都给出答案,不赘述了(关注基础概念、功能特点 http://jameswxx.iteye.com/blog/2091966)
Rocketmq是阿里巴巴开源的一款分布式的消息中间件,源于jms规范但是不遵守jms规范。
二、能干什么?
分布式消息中间件,阿里大佬开发,多次经历双十一考验;
- 能够保证严格的消息顺序(需要集群的支持)
- 提供丰富的消息拉取模式(可以任意定义你的拉取方式)
- 高效的订阅者水平扩展能力(通过一个consumerGroup的方式做到consumer的方便扩容)
- 实时的消息订阅机制(消息的实时推送)
- 亿级消息堆积能力(轻松完成系统销锋)
三、怎么用?
Linux环境搭建开始。。。。
环境要求:
JDK1.6(建议1.8)+MAVEN3.2.x+RocketMQ4.2.0
Source: rocketmq-all-4.2.0-source-release.zip
2.上传至Linux
|
# unzip rocketmq-all-4.2.0-source-release.zip # cd rocketmq-all-4.2.0 # mvn -Prelease-all -DskipTests clean install -U ……显示编译success,恭喜你,一次通过 编译完成后发现在/ulic/rocketmq-all-4.2.0/distribution/target目录下apache-rocketmq文件,所有启动的项目命令都在这个项目里面里。 |
小哥哥,我在这被干了,搁置了好久,又一次深深的挫败感,还好我自我调节还行,路总是要往下走了,坚持不能放弃,各种找资料,逛博客,看文档,查度娘……
终于……
到现在还是没有解决,把错列出来,警醒一下世人包括我寄几。。。
报错一: 说是pom.xml里的 parent.relativePath不对,不写默认为../pom.xml(有的说是改成../../pom.xml),经测试无效
说是要把项目中pom.xml并且把其中的
<parent>
<groupId>com.taobao</groupId>
<artifactId>parent</artifactId>
<version>1.0.2</version>
</parent>
给注释掉,不然弄死不能编译的,我信了,直接注释掉…………
满怀期待,继续mvn编译。。
错误二、报错如下:
ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.apache.rocketmq:rocketmq-remoting:4.2.0 (/ulic/rocketmq-all-4.2.0/remoting/pom.xml) has 1 error
[ERROR] Unresolveable build extension: Plugin kr.motd.maven:os-maven-plugin:1.4.0.Final or one of its dependencies could not be resolved: Failed to read artifact descriptor for kr.motd.maven:os-maven-plugin:jar:1.4.0.Final: Could not transfer artifact kr.motd.maven:os-maven-plugin:pom:1.4.0.Final from/to jboss-public-repository-group (http://repository.jboss.org/nexus/content/groups/public): Connect to repository.jboss.org:80 [repository.jboss.org/209.132.182.97] failed: Connection timed out -> [Help 2]
这个标红插件又有问题,猜测是公司内网不能访问仓库,因此下不了jar..还没找到更好的解决办法。
在maven里setting.xml配置<mirror>,阿里云的、公司自己的,好像都找不到
RocketMQ初探(一)的更多相关文章
- RocketMQ初探(五)之RocketMQ4.2.6集群部署(单Master+双Master+2m+2s+async异步复制)
以下部署方式结合众多博友的博客,经过自己一步一步实际搭建,如有雷同,侵权行为,请见谅...其中遇到不少的坑,希望能帮到更多的人,现在很少能找到一份完整版4.2.6版本的搭建教程了,如果你有幸遇见,那么 ...
- RocketMQ初探(四)之RocketMQ4.x版本可视化管理控制台rocketmq-console-ng搭建(Apache)
之前有部署过3.2.6为AliBaba版本的Web监控平台(可参考之前博客 https://www.cnblogs.com/buyige/p/9395453.html),现用RocketMQ4.2.0 ...
- RocketMQ初探(二)之RocketMQ3.26版本搭建(含简单Demo测试案例)
作为一名程序猿,要敢于直面各种现实,脾气要好,心态要棒,纵使Bug虐我千百遍,我待它如初恋,方法也有千万种,一条路不行,换条路走走,方向对了,只要前行,总会上了罗马的道. Apache4.x最新版本既 ...
- RocketMQ(五):namesrv初探
匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务. Broker-Master:broker 消息主机服务器. ...
- RocketMQ 多副本前置篇:初探raft协议
目录 1.Leader选举 1.1 一轮投票中,只有一个节点发起投票的情况 1.2 一轮投票中,超过一个节点发起投票的情况 1.3 思考如何实现Raft选主 2.日志复制 Raft协议是分布式领域解决 ...
- RocketMQ部分数据消费不了问题排查
问题现象 今天忽然收到RocketMQ预警信息如下: 提醒有部分数据没有消费,产生堆积情况. 打开RocketMq-Console-Ng查看如下图形式: 备注:第一反应是Consumer Group内 ...
- 初探kafka
日常中工作中我并没有对kafka接触很多,但了解到很多的框架都和kafka有着紧密的关系.比如rockmetmq是参考了kafka的设计,neflix的缓存组件ehcache是用kafka做数据的同步 ...
- RocketMQ(八):消息发送
匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务. Broker-Master:broker 消息主机服务器. ...
- 源码分析 RocketMQ DLedger 多副本之 Leader 选主
目录 1.DLedger关于选主的核心类图 1.1 DLedgerConfig 1.2 MemberState 1.3 raft协议相关 1.4 DLedgerRpcService 1.5 DLedg ...
随机推荐
- 深度优先搜索入门:POJ1164城堡问题(递归、用栈模拟递归)
将问题的各状态之间的转移关系描述为一个图,则深度优先搜索遍历整个图的框架为:Dfs(v) {if( v 访问过)return;将v标记为访问过;对和v相邻的每个点u: Dfs(u);}int main ...
- BZOJ2259 [Oibh]新型计算机 【傻逼最短路】
Description Tim正在摆弄着他设计的"计算机",他认为这台计算机原理很独特,因此利用它可以解决许多难题. 但是,有一个难题他却解决不了,是这台计算机的输入问题.新型计算 ...
- 【转载】分布式之redis复习精讲
注: 本篇文章转自:分布式之redis复习精讲 引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲>得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章.但是还是要说明一 ...
- 在 Windows 安装期间将 MBR 磁盘转换为 GPT 磁盘
以 UEFI 启动的 Windows 磁盘必须是 GPT 格式.本文将介绍如何在安装 Windows 期间将磁盘从 MBR 转换成 GPT. 特别注意:操作不慎可能丢失所有数据,如果你懂得安装系统的一 ...
- linux 下的定时任务的设置
为当前用户创建cron服务 1. 键入 crontab -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...
- 实例-QPSK的fpga实现
- BW数据加载
BW数据加载的优先级 1.主数据属性的加载 步骤图 从下到上 1)运行InfoPackage加载到PSA 找到主数据属性的InfoPackage,双击 点击Start按钮 点击监视器,查看运 ...
- select rows by values in a column from Dataframe
df.loc[df['column_name'] == some_value] details in: http://stackoverflow.com/questions/17071871/sele ...
- c++深拷贝/浅拷贝
拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化.其唯一的参数(对象的引用)是不可变的(const类型).此函数经常用在函数调用时用户定义类型的值传递及返 ...
- 5.Python使用最新爬虫工具requests-html
1.安装,在命令行输入:pip install requests-html,安装成功后,在Pycharm引入即可. 2.代码如下所示: from requests_html import HTMLSe ...