开发者学堂课程【Spring Cloud Alibaba Nacos 详解(上):集群部署】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/724/detail/12929
集群部署
内容介绍
一.单机版本问题
二.部署方法
三.启动
四.使用集群
一.单机版本问题
Nacos services 其实是一个单机的版本,那单机的版本有什么问题呢?
就是当这个单机的这个进程完了之后, Nacos 的这个服务,就不可用了,所以在实际的生产使用的时候,Nacos 通常是要部署成集群的。
部署一个 Nicholas 的集群,集群的要求是3个或3个以上的节点,因为这里边涉及到一个集群节点的选举问题,从至少3个节点当中选出一个 leader,我们了解具体的部署方法怎么操作。
二.部署方法
解压 Nacos 的目录,我们当初是运行目录下边的这个 Start up就可以,但是,现在要在我的本地去跑三个 Nacos 的进程,来模拟三台服务器上的三个 Nacos ,把目录拷贝多份,因为这每一个目录都是一个 Nacos 的程序,能把它拷贝多份,比如说现在将它拷贝成三份
可以看到,三份没有演示出来,把这个目录拷贝,改名就完成,这三个目录里边有三个 Michaels ,那现在如果要运行这三个,它端口儿会冲突网印在我的本机里边,所以我们现在要把这个端口改一下,它默认是8848,所以需要打开它的配置文件。
这三个端口号,一个叫88481,一个叫88491,一个叫880,那另外还有一个也要改一下,注意有一个配置,就在讲义上,在这里有一个他的这个IP地址,因为我的电脑可能IP地址是多个,包括服务器的IP地址也可能是多个,所以这里边要指定 Nacos 所绑定的IP地址是哪一个,我们就指定127.0.0.1就可以,这个IP是一定要指定的。
IP地址指定好之后,在你的应用程序,要访问的其实就是这个IP了,要注意跟它保持一致。
现在按照我们刚说的拷贝三个目录,都是三个 Nacos,并且改它的端口。绑定就算完成了,准备工作完工。
三.启动
启动的时候,我们是需要在后面加一个参数,叫— M class,就是以集群方式启动,比如说这个集群怎么感知到它有三个节点,就是说这个 Nacos 目录里面的程序,怎么就知道还有一个节点是8849,8850,所以这里边有一个非常重要的工作,我们要配置一下这集群的节联,这个工作非常重要,在Nacos 的程序的Computer目录里边有一个 Cluster 变 Configure example 这个文件,把这个文件键改名为 Class.config。
然后关键的把它改名成 Cluster configure,这里边配置的IP地址就是你刚才绑定的IP地址。
这三个节点,就是我们说的88488,49885,每一个 Nacos都要去编写这个 Class 的 config ur ,我们说的第三个节点都完成了。
四.使用集群
启动了一台,然后再来第二台启动,然后再来第三台,在我们实际使用生产上用的,我们肯定是用一个脚本儿。
很快捷的就把它提起来了,比如说提起来之后,怎么知道它的集群就可以运行了,访问任意一台,我们是884888。
一台 Nacos 控制台下边有一个节点列表,可以看到这里边有三个节点,那三个节点看其中有一个是 leader,就是884818848,8848就是我们说的 Nacos 的第一个目录,启动的就是8848端口号,这个集群怎么用呢?
现在如果要用集群的话,就是需要在我们的程序当中,原来我们指定的是一个单口。
那指定多个,它的原理就是这三个节点其中一个节点挂了,不影响其他 Nacos 服务,那么这个应用程序可以连接其他的节点来获取配置,把它重启一下,然后刷新,配置拿到了。
8848在上面还是 leader,之后再看这个8848就不是可用状态了,也不是 leader 了,现在选举出来一个新的 leader 是8850,它配置还可以照样使用。
那有的配置三个节点,这个节点的地址很麻烦,更简单的方法,就是在生产环境部署时,我们通常是通过一个域名,然后画一个虚拟 IP,这个虚IP会绑定三个 Nacos 的 IP,所以这里我们其实只要配一个 IP 或者一个域名就可以,这是生产环境的一个部署方式,配置我们只需要配一个域名地址就可以。
发现这里边的数据库我们也用组备方式,我们用的是单机数据库,那需要部署一个MYSQL 的一个组,然后在这个 Nacos 的配置文件当中配上两个 MYSQL 连接地址,一个组一个备好,这样其实就完全实现了我们说的集群的部署。
以上就是 Nexus 的集群部署。