Nacos集群搭建和mysql持久化配置

Nacos集群和mysql持久化配置

这篇很重要,因为生产环境中为了高可用都是使用的nacos集群,单节点的服务注册这些你跟着官网配置都可以,但是集群是必须要会的。 

1、Nacos集群部署架构

  生产环境大多使用集群模式以确保高可用。

  nacos集群架构图如下:

  nacos支持三种部署模式:

  • 单击模式:用于测试和单击试用。
  • 集群模式:用于生产环境,确保高可用。
  • 多集群模式:用于多数据中心场景。

  因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面   http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。   http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。   http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式   这里吐槽一点,阿里巴巴的文档写的不是很全,可能阿里大佬太多,以为上面那张图咱能看懂吧,你如果看到上面的架构图能立马翻译成下面这种,那说明你真的懂了。

  上面的架构图并没有具体说明SLB是什么,实际上上面的架构图翻译成下面这种看起来是不是很熟悉。

2、Nacos持久化配置解释

  由于Nacos默认自带的是嵌入式数据库derby,这样不方便我们使用工具实时检测,所以这里改用mysql持久化nacos的配置。

  derby切换到mysql的步骤:

  • 先去conf文件夹下面找到nacos-mysql.sql这条脚本,然后在自己的数据库中执行该脚本,执行之后的效果如下:

  • 再去修改conf文件夹下面的application.properties文件,增加数据库配置文件:

  示例如下:

3、Linux版Nacos+MySQL生产环境配置

3.1 集群规划

  准备三个nacos节点

  • nacos01节点:192.168.159.33:3333
  • nacos02节点:192.168.159.33:4444
  • nacos03节点:192.168.159.33:5555

  准备一个nginx

  准备一个mysql:192.168.159.33:3306

  即1个nginx+3个nacos节点+1个mysql的低配集群。

  这里为了简单,nginx和mysql并没有使用集群搭建,效果是一样的。   当然了,如果你嫌三台节点都在同一个虚拟机中搭建不合理,那你也可以启动三台虚拟机,然后修改下ip即可。

3.2 nacos的linux版本安装

  下载地址:https://github.com/alibaba/nacos/releases/tag/1.4.1

  我这里使用的是1.4.1版本,

  下载之后直接解压就能用了。

  目录如下:

3.3 linux服务器上的mysql数据库配置

  将conf文件夹下面的nacos-mysql.sql脚本在mysql中执行。

  执行之后查看结果

3.4 复制三份nacos文件

  我们这里使用nacos01、nacos02、nacos03,只是为了测试,生产环境中请在不同的节点上面配置。

3.5 修改application.properties

  修改/conf文件夹下面的application.properties文件,增加mysql持久化配置。

  nacos01、nacos02、nacos03中都需要做如下修改:

代码语言:javascript

复制

 
  1. spring.datasource.platform=mysql

  2. db.num=1

  3. db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?useUnicode=true&characterEncoding=utf-8&useSSL=false

  4. db.user=root

  5. db.password=123456

3.6 修改cluster.conf

  在nacos01文件夹中修改/conf文件夹下面的cluster.conf

  初始是没有的,只有个cluster.conf.example,

  我们执行命令cp cluster.conf.example cluster.conf即可。

  然后执行vim cluster.conf命令编辑该文件

  增加如下配置:

代码语言:javascript

复制

 
  1. 192.168.159.33:3333

  2. 192.168.159.33:4444

  3. 192.168.159.33:5555

  现在只配置了nacos01,我们直接将该文件复制到nacos02和nacos03对应的文件夹中即可。

  执行如下命令:

代码语言:javascript

复制

 
  1. cp cluster.conf /usr/local/nacos02/conf/

  2. cp cluster.conf /usr/local/nacos03/conf/

3.7 修改三台节点的端口号

  分别修改三台节点的/conf文件夹下面的application.properties文件。

  将nacos01、nacos02、nacos03的端口号分别修改为3333、4444、5555

  nacos01:

代码语言:javascript

复制

vim /usr/local/nacos01/conf/application.properties

  nacos02:

代码语言:javascript

复制

vim /usr/local/nacos02/conf/application.properties

  nacos03:

代码语言:javascript

复制

vim /usr/local/nacos03/conf/application.properties

3.8 启动三台nacos节点

  分别进入到三台节点的/bin文件下面执行如下命令

代码语言:javascript

复制

startup.sh

  从上图可以发现,都是以集群模式(cluster)启动的。

  访问三台节点的控制台查看是否成功:

  http://192.168.159.33:3333/nacos

  http://192.168.159.33:4444/nacos

  http://192.168.159.33:5555/nacos

3.9 使用nginx做负载均衡

  修改nginx的配置文件

代码语言:javascript

复制

vim nginx.conf

  添加如下配置:

  这里配置的意思是让nginx监听1111端口(你让它监听80端口也是可以的)

  启动nginx

代码语言:javascript

复制

 
  1. cd sbin

  2. ./nginx -c /usr/local/nginx/conf/nginx.conf

3.10 集群测试

  截止到此处,1个nginx+3个nacos注册中心+1个mysql的配置就搭建完成了。

  测试Nginx访问nacos:http://192.168.159.33:1111/nacos

  新建一个配置测试:

  分别查看三台节点是不是都有该配置,

  nacos01:

  nacos02:

  nacos03:

  查看linux服务器中的mysql是否多了一条记录

3.11 微服务注册测试

  微服务cloudalibaba-provider-payment9002启动注册进nacos集群

  修改application.yml文件的nacos注册地址为:192.168.159.33:1111,注意,这是nginx的监听的地址,由它负载均衡之后交给192.1168.159.33:3333、192.1168.159.33:4444、192.1168.159.33:5555这三台节点中的一个处理。

  启动该微服务之后,去nacos控制台查看是否注册成功。

   到此,集群搭建与持久化配置就介绍完了,这里你完全可以将nginx和mysql也是用集群搭建,实现真正的高可用集群。

参考:yNacos集群搭建和mysql持久化配置_nacos配置mysql-优快云博客

### 回答1: Android ADB Shell是Android Debug Bridge的缩写,旨在提供与Android设备之间的连接调试,是Android开发的重要工具之一。使用ADB Shell可以直接在手机上执行Linux命令,而无需连接到PC上进行操作。 常用的ADB Shell命令有: 1. adb shell ls:列出当前目录下所有文件文件夹; 2. adb shell ps:查看当前正在运行的进程; 3. adb shell cd:进入指定目录; 4. adb shell pwd:显示当前所在的目录; 5. adb shell rm:删除指定文件或目录; 6. adb shell mkdir:创建目录; 7. adb shell mv:移动或重命名文件或目录; 8. adb shell top:查看系统状态资源情况。 此外,ADB Shell还可以用于发送广播、启动Activity、查看日志等操作,具有丰富的功能。需要注意的是,使用ADB Shell需要先将Android设备连接到PC并开启USB调试模式,否则无法正常执行命令。 总之,ADB Shell是Android开发调试必须要掌握的工具之一,对于改善开发体验提高开发效率会起到至关重要的作用。 ### 回答2: Android adb shell指令是在Android开发中非常常用的一种工具。它可以连接到Android设备并对设备进行控制管理。在使用这些指令前,需要先保证已经安装了Android SDK,并且将其添加到了系统的PATH中。 其中,adb shell命令是进入设备命令控制台的主要指令,可以通过这个命令进入设备的内部命令行环境,从而实现一些需要在命令行环境中操作的任务。比如: 1. 查看设备的文件系统:可以通过adb shell命令进入设备的内部命令行环境,并使用ls命令、cat命令、cd命令等来查看、打印、切换设备的文件系统。 2. 安装卸载应用程序:可以通过adb install命令来将apk包安装到设备上,并使用adb uninstall命令卸载应用程序。 3. 查看设备的IP地址:可以通过adb shell ip命令来查看设备的IP地址MAC地址。 4. 启动Activity:可以通过adb shell am命令启动Activity,从而实现模拟用户点击操作的功能。 5. 清除应用数据:可以使用adb shell pm命令清除应用程序的数据,来实现数据清除的功能。 此外,还有一些其他的adb shell指令,比如adb shell dumpsys命令可以获取设备的系统信息、adb shell screencap命令可以截取设备的屏幕、adb shell input命令可以模拟用户操作输入等等。这些指令都能够提高开发效率,让开发者更方便地管理调试Android设备。 ### 回答3: Android的开发者工具软件包中,有一个重要的组件——adb(Android Debug Bridge),它被设计为一种模拟器上的调试工具,同时它也能够工作在真实的Android设备上。 adb是一个命令行工具,可以提供许多实用的功能,包括文件上传下载、设备状态监测、安装卸载应用、执行Shell命令等等。 其中,adb shell指令是adb中最强大的一项指令,它可以帮助我们直接在设备上执行命令,操作设备上的文件、目录进程等等。以下是几个常用的adb shell指令: 1. ls ls指令用来列出当前目录下的文件文件夹,常用参数有: ls -a :列出目录下所有文件文件夹,包括隐藏文件 ls -l :以详细的形式列出目录下的所有文件文件夹,包括文件的属性权限 2. cd cd指令用来进入指定的目录,可以使用绝对路径或相对路径: cd /sdcard :进入sdcard目录 cd .. :返回上一级目录 3. mkdir mkdir指令用来创建文件夹,使用方式: mkdir FolderName :创建名为FolderName的文件夹 4. rm rm指令用来删除文件或文件夹,使用方式: rm FileName :删除指定的文件 rm -r Folder :删除整个文件夹及其内容 5. ps ps指令用来列出设备上正在运行的进程,使用方式: ps :列出所有进程 ps | grep Keyword :列出包含关键字“Keyword”的进程 以上只是adb shell指令的部分功能,还有许多高级操作需要深入研究学习。总之,adb shell指令在Android开发调试中非常实用,可以提高效率便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值