关于本文
本文适合以下两类读者:
-
对于初学者来说,了解基本概念后,接下来应该动手实践一番;
-
您正在寻找一个快速搭建Nacos环境的方式,用于开发、学习等;
为了节约您的时间,咱们立即开始吧;
本次体验功能简介
本次实战的内容是体验Nacos的服务注册发现功能,简介如下:
-
名为simple-provider的应用注册到Nacos server,这样的应用部署在六个docker容器上;
-
名为simple-consumer的应用对外提供一个http服务,通过浏览器访问此服务时,simple-consumer会调用simple-provider的接口,将simple-provider返回的数据和此simple-provider的地址返回给浏览器;
-
由于simple-provider部署在六个docker容器上,因此每次通过浏览器发请求到simple-consumer时,simple-consumer都会将请求发送到不同的simple-provider容器上,所以浏览器上展示的simple-provider地址每次都不一样;
-
simple-consumer是从Nacos server上取得六个simple-provider的地址的;
-
simple-consumer和simple-provider都注册到Nacos server上了,因此在Nacos的管理页面上可以看到它们的信息;
本次实战的整体架构图如下,请顺着橙色提示框的数字顺序来看请整个流程:
环境
本次实战的环境和版本信息如下,您需要准备好docker和docker-compose:
-
操作系统:CentOS Linux release 7.6.1810
-
Docker:1.13.1, build b2f74b2/1.13.1
-
docker-compose:1.24.1, build 4667896
一个命令完成部署
在Linux机器执行以下命令,即可搭建整个Nacos环境(Nacos server,服务提供者、服务消费者):
wget https://raw.githubusercontent.com/zq2599/blog_demos/master/nacosdemo/dockerfiles/simple/docker-compose.yml && \
docker-compose up --scale provider=6 -d
镜像下载需要一些时间,请耐心等待,等容器全部创建成功就完成了环境搭建,可以开始体验了。
体验Naocs
- 假设Linux电脑的IP地址是192.168.121.131,在浏览器输入:http://192.168.121.131:8848/nacos ,会显示nacos登录页面,如下图,输入账号nacos,密码也是nacos:
2. 如下图,登录后点击红框1中的服务列表菜单,从右侧的服务列表可见两个应用都已经注册到nacos上了,而且红框2显示spring-provider应用有6个实例:
3. 点击上图红框3中的详情,如下图,列表会展示simple-provide应用的6个实例,每个实例的IP都是一个docker容器的IP地址:
4. 在浏览器输入地址:http://192.168.121.131:8080/test ,会向simple-consumer应用发起请求,此时simple-consumer会调用simple-provider提供的web服务,并将simple-provider的地址和返回内容拼接成一个字符串,然后返回到浏览器,如下图,可见本次提供服务的simple-provider实例是172.18.0.9:
- 按下F5刷新浏览器,如下图,可见这次给simple-consumer提供服务的simple-provider是172.18.0.3