RocketMq环境搭建

目录

MQ作用

RocketMQ背景

MQ对比

RocketMQ环境搭建

搭建dashboard可视化界面


MQ作用

  • 异步
  • 解耦
  • 削峰

RocketMQ背景

​ RocketMQ是阿里巴巴开源的一个消息中间件,在阿里内部历经了双十一等很多高并发场景的考验,能够处理亿万级别的消息。2016年开源后捐赠给Apache,现在是Apache的一个顶级项目。

​ 早期阿里使用ActiveMQ,但是,当消息开始逐渐增多后,ActiveMQ的IO性能很快达到了瓶颈。于是,阿里开始关注Kafka。但是Kafka是针对日志收集场景设计的,他的高级功能并不是很贴合阿里的业务场景。尤其当他的Topic过多时,由于Partition文件也会过多,这就会加大文件索引的耗时,会严重影响IO性能。于是阿里才决定自研中间件,最早叫做MetaQ,后来改名成为RocketMQ。最早他所希望解决的最大问题就是多Topic下的IO性能压力。但是产品在阿里内部的不断改进,RocketMQ开始体现出一些不一样的优势。

MQ对比

优点缺点适合场景
Apache Kafka吞吐量非常大,性能非常好,集群高可用。会有丢数据的可能,功能比较单一日志分析、大数据采集
RabbitMQ消息可靠性高,功能全面。erlang语言不好定制。吞吐量比较低。企业内部小规模服务调用
Apache Pulsar基于Bookeeper构建,消息可靠性非常高。周边生态还有差距,目前使用的公司比较少。企业内部大规模服务调用
Apache RocketMQ高吞吐、高性能、高可用。功能全面。客户端协议丰富。使用java语言开发,方便定制。服务加载比较慢。几乎全场景,特别适合金融场景

RocketMQ环境搭建

1. 安装jdk环境,配置环境变量,jdk版本1.8

2. 下载并解压rocketmq安装包,rmq版本4.9.5

 3. 由于虚拟机环境内存很小,而默认jvm内存配置太高, 调低内存(生产环境可不改)

        a 修改bin/runbroker.sh文件

        b 修改bin/runbroker.sh文件 

 4. 设置broker自动创建topic,在conf/broker.conf加如下配置

autoCreateTopicEnable=true

5. 设置环境变量NAMESRV_ADDR(非必须, 测试工具用)

通过vi ~/.bash_profile添加以下配置。然后使用source ~/.bash_profile让配置生效。

export NAMESRV_ADDR='localhost:9876' 

 6. 分别启动nameserver服务和broker服务

# 启动nameserver服务nohup bin/mqnamesrv &# 启动broker服务nohup bin/mqbroker &# 关闭nameserver服务bin/mqshutdown namesrv# 关闭broker服务bin/mqshutdown broker

jps验证是否启动成功

7. 自带tool工具测试发送&消费消息

        a 发送消息

bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

        b 消费消息

bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

搭建dashboard可视化界面

1. 去官网下载dashboard源码

2. 注释默认配置rocketmq.config.namesrvAddr, 后面可动态配置

3. 添加解析yml的maven依赖, 不然启动报错

        <dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.27</version></dependency>

4. maven打包成jar包

mvn clean package -Dmaven.test.skip=true

5. 把jar包拷贝到服务器, 并且在同级目录新建一个application.yml文件,配置namesrv地址

application.yml内容配置:

rocketmq.config.namesrvAddr: 192.168.6.128:9876

6. java -jar启动jar包

java -jar rocketmq-dashboard-1.0.0.jar

7. 访问dashboard界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/201465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程实战:类C语法的编译型脚本解释器(二)Token和变量

系列入口&#xff1a;编程实战&#xff1a;类C语法的编译型脚本解释器&#xff08;系列&#xff09;-CSDN博客 现在开始解释所有的设计思想和与源代码。先从外围入手&#xff0c;最后会进入到一个巨大的解析语法的类。 本文介绍TOKEN和变量。 目录 一、TOKEN 1.1 定义Token类…

跨端的三种方案原理和对比(WebView,ReactNative,Flutter)

一、定义 WebView WebView是什么&#xff1f; 答&#xff1a; 第一代跨平台框架&#xff0c;代表者为&#xff1a;PhoneGap、微信小程序。 WebView标签是一种用于在网页中嵌入浏览器窗口的HTML元素。它的底层原理是通过原生平台提供的浏览器引擎来实现网页的渲染和交互。 …

windows下DSS界面本地集成linkis管理台

说明&#xff1a;当前开发环境为windows&#xff0c;node版本使用16.15.1。启动web时&#xff0c;确保后端服务已准备就绪。 1.linkis web编译 #进入项目WEB根目录 $ cd linkis/linkis-web #安装项目所需依赖 $ npm install参考官方编译说明&#xff0c;windows下编译一直异常…

代理IP和网络加速器的区别有哪些

随着互联网的普及&#xff0c;越来越多的人开始使用网络加速器来提高网络速度。然而&#xff0c;很多人并不清楚代理IP和网络加速器之间的区别。本文将详细介绍两者的概念及区别。 一、代理IP 代理IP是一种通过代理服务器进行网络连接的方式。在使用流冠代理IP时&#xff0c;用…

数据结构算法-希尔排序

引言 在一个普通的下午&#xff0c;小明和小森决定一起玩“谁是老板”的扑克牌游戏。这次他们玩的可不仅仅是娱乐&#xff0c;更是要用扑克牌来决定谁是真正的“大老板”。 然而&#xff0c;小明的牌就像刚从乱麻中取出来的那样&#xff0c;毫无头绪。小森的牌也像是被小丑掷…

视觉检测系统在半导体行业的应用

一、半导体产业链概述 半导体产业链是现代电子工业的核心组成部分&#xff0c;涵盖了从原材料到最终产品的整个生产过程。这个产业链主要分为以下几个环节&#xff1a; 1.原材料供应&#xff1a;半导体行业的基石是半导体材料&#xff0c;如硅片、化合物半导体等。这些材料需要…

搭建CIG容器重量级监控平台

CIG简介 CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统&#xff0c;用于监控容器的各项性能指标&#xff0c;通过三者的结合&#xff0c;CIG监控平台可以实现对容器性能的全面监控和可视化展示&#xff0c;为容器的性能和运行状态提供了一个全面…

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name=&…

★538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树 在Java中使用类变量&#xff0c;就相当于用了C 中的全局变量。 第一次在Java中用全局变量的知识。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNod…

前端React基础面试题

1,说说react里面bind函数与箭头函数 bind 由于在类中,采用的是严格模式,所以事件回调的时候会丢失this指向,指向的undefined,需要使用bind来给函数绑定上当前实例的this指向。 箭头函数的this指向上下文,所以永久能拿到当前组件实例的。this指向我们可以完美的使用箭头…

simulink同步机储能二次调频AGC,连续扰动负荷,储能抑制频率波动振荡震荡

若想观测二次调频性能&#xff0c;&#xff0c;切换为单一扰动即可&#xff0c;如下图所示。 AGC调速器都已经封装。后续也可加入风机光伏水电等资源。

ResNet(残差网络)详解

ResNet&#xff08;残差网络&#xff09;详解 ResNet&#xff08;残差网络&#xff09;是一种深度神经网络架构&#xff0c;主要用于解决深度学习中的梯度消失和梯度爆炸问题&#xff0c;特别在深层网络的训练中表现出色。 ResNet 的核心概念 1. 残差学习 在传统的深度神经…

【技术分享】ORACLE数据库相关操作

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502[欢迎关注微信公众号&#xff1a;厦门微思网络] -- 截断表 TRUNCATE TABLE TABLE_NAME; -- …

java面试题-谈谈sql优化-mysql

远离八股文&#xff0c;面试大白话&#xff0c;通俗且易懂 看完后试着用自己的话复述出来。有问题请指出&#xff0c;有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来&#xff0c;大家一起解决。 这是面试总结出来的几点&#xff0c;每次问道都是这么回…

最新关于openai.APIConnectionError: Connection error.的解决方法

其实是和以前一样的处理方式&#xff0c;&#xff08;挂魔法&#xff09;修改代理&#xff0c;但是openai的源码改了&#xff0c;好多博客的方法不能用了。现在给一个新的修改方式&#xff0c;自己用的&#xff0c;发现可以。 1.找到pip下载的openai的Lib&#xff0c;找到_base…

使用Ansible lineinfile模块进行行级别操作

Ansible是一种功能强大的自动化工具&#xff0c;它提供了各种模块来简化配置管理任务。其中&#xff0c;lineinfile模块是一种特别有用的模块&#xff0c;它允许我们在文件中插入、修改或删除行。本文将介绍Ansible的lineinfile模块&#xff0c;并演示如何使用它来进行行级别操…

01数仓平台 Hadoop介绍与安装

Hadoop概述 Hadoop 是数仓平台的核心组件。 在 Hadoop1.x 时代&#xff0c;Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度&#xff0c;耦合性较大。在 Hadoop2.x 时代&#xff0c;增加了 Yarn。Yarn 只负责资源的调度&#xff0c;MapReduce 只负责运算。Hadoop3.x 在…

Python 发送阿里云手机短信消息

一般用于发送验证码&#xff0c;本代码实现功能如下&#xff1a; 1、联接MsSqlServer获取短信任务清单&#xff0c;这个可以业务系统往该表插数据 2、根据阿里云短信息的相关信息&#xff08;appid,secret,消息模板&#xff09;&#xff0c;发送手机消息 3、创建定时任务&#…

区块链optimism主网节点搭建

文章目录 官方参考资料编译环境搭建编译Optimism Monorepo编译op-geth 执行下载数据快照生成op-geth和op-node通信密钥op-geth执行脚本 op-node执行脚本 启动日志op-gethop-node 本文是按照官方参考资料基于源码的方式成功搭建optimism主网节点。 官方参考资料 源码&#xff1…

如何在VSCode中打包Vue项目?

使用VSCode作为Vue项目的开发环境后&#xff0c;我们需要了解如何打包Vue项目。本文将从多个方面对如何在VSCode中打包Vue项目进行详细阐述。 一、安装依赖 在打包Vue项目之前&#xff0c;我们需要先安装项目所需的依赖。在Vue项目中&#xff0c;可以通过以下命令安装依赖&am…