前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker下的Spring Cloud三部曲之三:在线横向扩容

Docker下的Spring Cloud三部曲之三:在线横向扩容

作者头像
程序员欣宸
发布2022-05-06 13:38:08
3380
发布2022-05-06 13:38:08
举报
文章被收录于专栏:实战docker

本章是《Docker下的Spring Cloud三部曲》的最后一篇,前面两篇我们实践了开发和制作镜像文件,运行一个基于spring cloud的RPC服务环境,今天我们来试试docker-compose的扩容功能,将我们的RPC服务做在线扩容;

原文地址:http://blog.csdn.net/boling_cavalry/article/details/79192376

系列文章

  1. 《Docker下的Spring Cloud三部曲之一:极速体验》
  2. 《Docker下的Spring Cloud三部曲之二:细说Spring Cloud开发》

环境信息

回顾一下实战环境,如下图:

这里写图片描述
这里写图片描述

扩容效果

一般情况下,生产环境耗时耗资源的处理逻辑都集中在provider中,所以我们需要对provider做在线扩容,完成后的效果如下图所示:

这里写图片描述
这里写图片描述

扩容操做

通过《Docker下的Spring Cloud三部曲之一:极速体验》中的操做将容器都启动后,在docker-compose.yml所在目录执行以下命令:

代码语言:javascript
复制
docker-compose scale provider=3

控制台提示操做成功:

代码语言:javascript
复制
ubuntu@VM-129-56-ubuntu:~/work/springcloud$ sudo docker-compose scale provider=3   
WARNING: The scale command is deprecated. Use the up command with the --scale flag instead.
Starting springcloud_provider_1 ... done
Creating springcloud_provider_2 ... done
Creating springcloud_provider_3 ... done

执行以下命令可以看清容器和IP地址的信息:

代码语言:javascript
复制
docker inspect --format='{{.Config.Image}} {{.Name}} {{.State.Status}} {{.NetworkSettings.IPAddress}} ' `sudo docker ps -a -q`

信息如下所示:

代码语言:javascript
复制
ubuntu@VM-129-56-ubuntu:~/work/springcloud$ sudo docker inspect --format='{{.Config.Image}} {{.Name}} {{.State.Status}} {{.NetworkSettings.IPAddress}} ' `sudo docker ps -a -q`
bolingcavalry/service-provider:0.0.1-SNAPSHOT /springcloud_provider_3 running 172.17.0.6 
bolingcavalry/service-provider:0.0.1-SNAPSHOT /springcloud_provider_2 running 172.17.0.5 
bolingcavalry/service-consumer:0.0.1-SNAPSHOT /springcloud_consumer_1 running 172.17.0.4 
bolingcavalry/service-provider:0.0.1-SNAPSHOT /springcloud_provider_1 running 172.17.0.3 
bolingcavalry/eureka-server:0.0.1-SNAPSHOT /springcloud_eureka_1 running 172.17.0.2 

新的provider容器已经启动了;

验证

consumer的http接口,返回值中带有provider的IP地址,我们在浏览器输入consumer的服务地址:http://localhost:8083/user/aaa/bbb,多刷新几次,发现返回内容中的provider IP地址是一直再变化的,如下图:

这里写图片描述
这里写图片描述

执行以下命令,会将新增的springcloud_provider_2和springcloud_provider_3销毁,恢复到最初的状态:

代码语言:javascript
复制
ubuntu@VM-129-56-ubuntu:~/work/springcloud$docker-compose scale provider=1
WARNING: The scale command is deprecated. Use the up command with the --scale flag instead.
Stopping and removing springcloud_provider_2 ... done
Stopping and removing springcloud_provider_3 ... done
ubuntu@VM-129-56-ubuntu:~/work/springcloud$

同样可以用浏览器刷新页面,通过返回的provider IP地址来验证provider还有几个;

至此,Docker下的Spring Cloud实战三部就全部完成了,希望能对您的spring cloud学习有所帮助;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系列文章
  • 环境信息
  • 扩容效果
  • 扩容操做
  • 验证
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档