Docker Compose水平扩展和负载均衡_docker 的水平拓展和负载均衡 scale-程序员宅基地

技术标签: Compose  Docker中级  云计算  

一、scale实现水平扩展

docker-comose scale : Set number of containers for a service,实现水平扩展

1.1、用到的三个文件

  • docker-compose.yaml文件
version: "3"

services:

  redis:
    image: redis

  web:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      REDIS_HOST: redis

   注:水平扩展会抢占8080端口,会报错,所以先不指定端口
   # ports:
   #  - 8080:80 

  • Dockerfile文件
FROM python:2.7
LABEL maintaner="Peng Xiao [email protected]"
COPY . /app
WORKDIR /app
RUN pip install flask redis
EXPOSE 80
CMD [ "python", "app.py" ]
  • app.py文件
from flask import Flask
from redis import Redis
import os
import socket

app = Flask(__name__)
redis = Redis(host=os.environ.get('REDIS_HOST', '127.0.0.1'), port=6379)


@app.route('/')
def hello():
    redis.incr('hits')
    return 'Hello Container World! I have been seen %s times and my hostname is %s.\n' % (redis.get('hits'),socket.gethostname())


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80, debug=True)

1.2、执行docker-compose

docker-compose up --scale web=3 -d

二、HAProxy实现负载均衡

上图发现 3 个应用都是占用的容器的5000 端口,此时就可以用负载均衡进行请求分发

  

2.1、修改docker-compose.yaml文件

version: "3"

services:

  redis:
    image: redis

  web:
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      REDIS_HOST: redis

  lb:
    image: dockercloud/haproxy
    links:
      - web
    ports:
      - 8080:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

2.3、使用 curl 请求验证(可以进行负载均衡)

 

2.4 流量高峰过后,为减少资源消耗,也可减小 scale 

  docker-compose up --scale web=2 -d #web 后的数值变小即可

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lixinkuan328/article/details/103932133

智能推荐

基于pytorch与opencv的手写汉字识别系统_opencv 手写文字识别-程序员宅基地

文章浏览阅读448次,点赞10次,收藏9次。本次实验的任务是汉字识别。使用pytorch深度学习框架和opencv在HWDB手写汉字数据集进行实验。由于数据集过于庞大,这里只选取了前1311个类作为实验。HWDB是一个手写汉字数据集,该数据集来自于中科院自动化研究所,一共有三个版本,分别为HWDB1.0、HWDB1.1和HWDB1.2。本文使用的数据集共有1311种汉字,大概共有几十万张图片,其中20%的图片用于验证,80%的图片用于训练。图片的格式为png,下图为部分数据集图片。resnet18的结构图如下所示:#加载resnet18模型。_opencv 手写文字识别

IDEA+Java+Servlet+JSP+Bootstrap+Mysql实现Web学生宿舍管理系统_基于java web 学生宿舍管理信息系统代码idea-程序员宅基地

文章浏览阅读7.5k次,点赞30次,收藏167次。目录一、系统介绍1.开发环境2.技术选型3.系统功能4.数据库5.工程截图二、系统展示1.登录界面2.学生-主页面3.学生-缺勤记录4.学生-修改密码5.宿舍管理员-主页面6.宿舍管理员-学生查看7.宿舍管理员-缺勤记录8.宿舍管理员-修改密码9.系统管理员-主页面10.系统管理员-宿舍管理员管理11.系统管理员-学生管理12.系统管理员-宿舍楼管理13.系统管理员-缺勤记录14.系统管理员-修改密码三、部分代码_基于java web 学生宿舍管理信息系统代码idea

linux内核压缩方式调研_kernel compression mode-程序员宅基地

文章浏览阅读4.3k次。压缩的概念:vmlinux 是未压缩的内核,zImage 是压缩的相关工具:mkimage:为Linux内核和根文件系统添加头部的工作一般由编译bootloader时生成的一个小应用程序来完成,比如u-boot编译后会在其tools子目录下生成一个叫mkimage的应用程序。参考这里。内核压缩和解压缩代码都在目录kernel/arch/arm/boot/compressedlinux4...._kernel compression mode

基于RSA和AES的混合加密算法实现----2020年西北工业大学网络空间安全学院夏令营大作业_rsa加密算法2020参考文献-程序员宅基地

文章浏览阅读3k次,点赞7次,收藏70次。文章目录一、设计内容二、基本思路实现三、设计原理与流程3.1. 建立socket套接字连接3.1.1建立socket连接原理:3.1.2建立socket连接的流程图如下:3.2. RSA算法实现密钥加密分发3.2.1 RSA算法加密原理:3.2.2 RSA算法加密流程图:3.3. AES算法实现数据加密传输3.3.1 AES算法加密原理:3.3.2 AES算法加密解密流程图:四、实验过程与运行结果4.1. 网络传输连接的建立4.2. RSA算法的实现与加密解密4.3. AES的实现与加密解密4.4. 运行总_rsa加密算法2020参考文献

【计算机毕设文章】“有光”摄影分享网站-程序员宅基地

文章浏览阅读338次,点赞9次,收藏7次。毕 业 设 计(论 文)“有光”摄影分享网站设计与实现摘 要自互联网的发展至今,其基础理论与技术都已完善,并积极参与了整个社会各个领域。它容许信息根据媒体传播,并和信息可视化工具一起为大家提供优质的服务。对于信息多头管理、差错率高、信息安全系数差、工作强度大、用时费劲等诸多问题,摄影分享网站能够高效管理,使信息管理方法更为科学和规范化。在IDEA环境里,摄影分享网站应用Java语言表达开展代码编写,SpringBoot作为主要后台框架,并用MySQL建立数据分析表来储存系统产生的数据信息。该系统能

微信小程序实现滚动字幕_微信小程序滚动字幕-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏22次。【代码】微信小程序实现滚动字幕。_微信小程序滚动字幕

随便推点

亚马逊---人工智能入门---学习笔记_亚马逊ai人工智能-程序员宅基地

文章浏览阅读5.8k次,点赞61次,收藏37次。AI是机器的智能行为,这意味着,任何可以感知其环境并相应采取操作的设备都具有AI,通过AI,机器可以模仿人的认知功能,如学习和解决问题。例子:是让设备具有扫描功能并且可以解释其物理环境这样一来,他们就可以四处移动甚至还可以上下楼梯。要使机器像人类一样行动和反应我们需要位他们提供来自现实世界的信息。_亚马逊ai人工智能

复习总结:信号与系统(信号)_信号与系统第一二章知识点总结-程序员宅基地

文章浏览阅读689次,点赞2次,收藏11次。_信号与系统第一二章知识点总结

【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)_弯曲世界-程序员宅基地

文章浏览阅读1.1k次,点赞6次,收藏17次。本文的灵感来自动物森友会的神奇世界!动物们在这里生活、探索和建设,而世界弯曲的效果给游戏增添了更多的魅力和惊喜。你是否曾经想过如何使用Unity来实现这一独特的效果?在本文中,我们将带你逐步了解如何用Unity解锁世界弯曲的神奇力量。动物森友会是一款备受欢迎的模拟经营游戏,最引人瞩目的特点之一就是游戏中的世界弯曲效果。当角色移动时,场景以一种富有艺术感的方式扭曲和变形,营造出一种奇幻而迷人的感觉。这种效果让玩家沉浸在一个与众不同的虚拟世界中,提供了一种独特的视觉体验。_弯曲世界

【转载】安卓默认系统图标样式的修改_android config_icon_mask-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏8次。Android系统Launcher默认图标样式修改_android config_icon_mask

功能性模块:(7)检测性能评估模块(precision,recall等)_功能模块 评价量-程序员宅基地

文章浏览阅读658次。功能性模块:(7)检测性能评估模块一、模块介绍其实每个算法的好坏都是有对应的评估标准的,如果你和老板说检测算法好或者不好,哈哈哈,那必然就是悲剧了。好或者不好是一个定性的说法,对于实际算法来说,到底怎么样算法算好?怎么样算法算不好?这些应该是有个定量的标准。对于检测来说,可能最常用的几个评价指标就是precision(查准率,就是你检测出来的目标有多少是真的目标),recall(查全率,就是实际的目标你的算法能检测出来多少),还有ap,map等。本篇博客其实就是让小伙伴们对自己的检测模型心里有一个底,换_功能模块 评价量

ccah500 考试大纲翻译-程序员宅基地

文章浏览阅读662次。hadoop知识点Exam Sections and Blueprint1. HDFS (17%)Describe the function of HDFS daemons描述hdfs的功能性deamon,Describe the normal operation of an Apache Hadoop cluster, both in data storage and i

推荐文章

热门文章

相关标签