Nacos+rocketmq + rocketmq console

Nacos不仅是一个注册中心组件,也是一个配置中心将配置文件版本化管理。

Nacos总结为官网一句话就是:Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

官网:home (nacos.io)

Nacos可以做什么:

服务注册发现和服务健康检测
Nacos支持基于DNS和基于RPC的服务发现,服务端可以通过SDK或者Api进行服务注册,相应的服务消费者可以使用DNS或者Http查找的方式获取服务列表。Nacos同时提供对服务的实时健康检查,阻止想不健康的主机或服务发送请求,与Eureka类似Nacos也有友好的控制台界面。

动态配置服务:

Nacos支持动态的配置管理,将服务的配置信息分环境分类别外部管理,并且支持热更新。不过与Config不同Nacos的配置信息存储与数据库中,支持配置信息的监听和版本回滚。

动态DNS服务:

支持权重路由,更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。不过这个特性目前版本还不支持

服务及元数据管理:

Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。

Nacos 无缝支持 Spring Cloud,为 Spring Cloud 用户其提供更简便的配置中心和注册中心的解决方案

#安装
环境:mysql,jdk,mvn

tar -zxvf nacos-server-1.4.0.tar.gz

mv nacos /usr/local/

cd /usr/local/nacos
#新建数据库 nacos_config,将conf目录下的 nacos-mysql.sql 文件导入到数据库中

#创建数据库
create database nacos_config;

#查看是否创建成功;有哪些库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nacos_config       |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

#进入库
use nacos_config;

#开始导入sql文件,source /sql文件的完整路径
source /usr/local/nacos/conf/nacos-mysql.sql
#编辑 config 目录下的 application.properties 文件

vim /usr/local/nacos/conf/application.properties
#39  取消注释 
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&aut    oReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

#40  取消注释并修改
db.user.0=root

#41  取消注释并修改
db.password.0=ASDFasdf123.         #数据库密码
#启动nacos,启动命令(standalone代表着单机模式运行,非集群模式)



#启动命令 如果报错证明没有jdk环境

sh bin/startup.sh -m standalone 

启动完成后输入 http://192.168.11.11:8848/nacos 

即可进入nacos控制台,账号nacos,密码nacos

RcoketMQ

#RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。

安装:

unzip rocketmq-all-4.9.2-source-release.zip

cd  rocketmq-all-4.9.2-source-release.zip

#修改内存配置
vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=    320m"  
#大概70行左右

vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn512m"
#大概70行左右

nohup sh bin/mqnamesrv &

nohup sh bin/mqbroker -n 192.168.11.11:9876 &
#rocketmq console (mq控制台)

unzip rocketmq-externals-rocketmq-console-1.0.0.zip

cd /usr/local/rocketmq-externals-rocketmq-console-1.0.0


vim /usr/local/rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console/src/main/resources/application.properties
rocketmq.config.namesrvAddr= 192.168.11.11:9876
rocketmq.config.isVIPChannel=false
#编译命令:mvn clean package -Dmaven.test.skip=true(注意:不要直接使用mvn package,会提示很多错误,在rocketmq-console的目录下执行)

#再启动jar包

cd /usr/local/externals/rocketmq-console/target/

nohup java -jar rocketmq-console-ng-1.0.0.jar &