一、引出问题
上一节我们讲到了微服务相互调用的过程。那我们思考一下这样一个问题,我们某个微服务有没有可能有多个机器呢?或者说端口有没有可能不一样呢?那我们如何管理我们的微服务呢?其实最笨的方式就是修改端口,我们就直接修改代码就好了,但是这样如果业务量上来就是比较麻烦的事情,那么就是引入了我们的新的概念,就是服务管理有的也称为服务治理。因为我们一开始是SpringCloud-Alibaba系列教程的,所以我们引入Nacos,这就是SpringCloud-Alibaba的技术栈,常见的注册中心有很多例如:Eureka、Consul和ZooKeepe等。
二、我们开始吧
首先我们进入Nacos的GitHub下载相关版本。
https://github.com/alibaba/nacos
我们进入Releases查看下载需要的版本,截止发文前是2.04版本的
下载比较慢的小伙伴提供网盘下载(长期更新哦):
链接:https://pan.baidu.com/s/1lIspDkwwDZauKxMw7nRXYw
提取码:jnh6
然后我们下载好了以后可以解压出来可以看到这个目录。
我们首先呢需要配置数据库。
我们打开conf目录找到mysql相关的sql(这里用什么数据库就对应什么的sql)然后导入自定义的数据库里面,因为这边我是模拟测试,我是本机的数据库。
导入之后就可以看到nacos数据里面对应的表了。
下一步就是关于数据库配置了。
还是在conf目录下找到application.properties
配置数据库地址端口库名等等信息。
打开bin目录,双击打开startup.cmd就可以了
如果启动报错,一定查看一下是不是单机启动(standalone),上图,如果是集群模式(cluster)需要修改。
在浏览器输入ip就可以看到相关的登录页面了。默认账号与密码都是nacos
至此我们注册中心服务端就搭建完毕了。
那我们如何在我们的微服务中使用Nacos呢?
其实在官网也有例子,这里我们就直接看贴图吧。
在需要管理的微服务中的pom文件添加
在启动类添加@EnableDiscoveryClient
最后就是application.yml配置相关注册中心的地址了
然后我们启动微服务测试一下看看我们的注册中心是不是可以看到我们的微服务。
同样的,我们可以在订单微服务等按照上述操作进行添加。这一章使用Nacos到这里就完成了。
后期会在这个项目上不断添加,喜欢的请点个start~
项目源码参考一下分支220126_xgc_useNacos
Gitee:https://gitee.com/coderxgc/springcloud-alibaba
GitHub:https://github.com/coderxgc/springcloud-alibaba