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

举报
程序员欣宸 发表于 2022/05/08 09:06:17 2022/05/08
【摘要】 本章是《Docker下的Spring Cloud三部曲》的最后一篇,前面两篇我们实践了开发和制作镜像文件,运行一个基于spring cloud的RPC服务环境,今天我们来试试docker-compose的扩容功能,将我们的RPC服务做在线扩容

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

本篇概览

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

系列文章

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

环境信息

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

这里写图片描述

扩容效果

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

这里写图片描述

扩容操做

docker-compose scale provider=3
  • 控制台提示操做成功:
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地址的信息:
docker inspect --format='{{.Config.Image}} {{.Name}} {{.State.Status}} {{.NetworkSettings.IPAddress}} ' `sudo docker ps -a -q`
  • 信息如下所示:
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容器已经启动了;

验证

这里写图片描述

  • 执行以下命令,会将新增的springcloud_provider_2和springcloud_provider_3销毁,恢复到最初的状态:
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学习有所帮助;

欢迎关注华为云博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴…

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。