container-as-a-service-0x00 -- 基于Docker的私有云混合云搭建需求

news/2024/9/9 12:27:30

container-as-a-service-0x00 -- 基于Docker的私有云&混合云搭建需求

preface

使用docker对node以及php等程序进行打包以实现快速分发部署上线后,随之而来的需求是:

统一更大规模的服务器集群为资源池,即不再区分具体的服务器,而是将所有的服务器资源归为一个资源池,根据需要,随时创建移除资源,以应对更大数量的资源请求以及,减少资源浪费。故而,我们使用n(>=1)的负载均衡器来统一资源的入口。

examples

请求资源

  • GET: http://domain.name/get/images/png/{imageId}

  • PROXY:

    • http://192.168.1.80:80/static/images/png/{imageId}

    • http://192.168.1.80:90/static/images/png/{imageId}

    • http://192.168.1.81:80/static/images/png/{imageId}

更新记录

  • POST: http://domain.name/put/record/{recordId}

  • PROXY:

    • http://192.168.1.80:80/dynamic/record/{recordId}

    • http://192.168.1.80:90/dynamic/record/{recordId}

    • http://192.168.1.81:80/dynamic/record/{recordId}

explanation

这里有几个也许没看清的内容:

  • 资源入口:http://domain.name/

  • 前端代理:转发请求到不同的内网服务器如:http://192.168.1.80:80

  • 后端服务:同一服务器可能包含静态或者动态资源

extension

由此带来的便利:

  • 资源的上线仅需要更新代理地址即可

  • 可以使用同一环境进行开发、测试、生产

  • 可以根据请求资源的数量,动态扩容(如视频请求资源压力过大,可迅速增加静态资源服务数量)

但是我们需要实现一个key-value的存储,来更新资源的状态,简单示例如下:

{"web_node_cn_0x00" :{"ip":"192.168.1.80","port":"80","status":"living","ext":{"store_db_refer":"store_mongo_cn_0x00","store_fs_refer":"store_oss_cn_0x00",...}} 
}

(未完待续。)


http://lihuaxi.xjx100.cn/news/284700.html

相关文章

Java 组合模式及其应用

组合模式,就是在一个对象中包含其他对象,这些被包含的对象可能是终点对象(不再包含别的对象),也有可能是非终点对象(其内部还包含其他对象,或叫组对象),我们将对象称为节…

Face-recognition实现人脸识别

文章目录1.前置知识点(1)Opencv中矩形,绘制文本(2)Opencv中基础的知识点(3)face_recognition.face_locations(img1ToRGB)(4)face_recognition.face_encodings(img1ToRGB,…

Linux 常用的压缩与解压缩命令详解

Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。 tar 最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾…

PhalGo-Request

2019独角兽企业重金招聘Python工程师标准>>> PhalGo-Request PhalGo-Request对Echo进行了封装,目的是为了减少获取请求参数,转换类型,判断请求参数有效此类重复操作带来的代码量,PhalGo-Request支持Get,Post,Json三类请求参数,并且使用连贯操作来获取API需要的参数减…

Google BBR拥塞控制算法背后的数学解释 | 深度

参加 2019 Python开发者日,请扫码咨询 ↑↑↑作者 | 赵亚转载自CSDN网站杭州待了一段时间,回到深圳过国庆假期,无奈温州皮鞋?厂老板过节要回温州和上海,不在深圳,也就没有见着,非常遗憾!国庆节…

使用cv2.dnn实现GoogleNet图像分类

文章目录1.深度学习网路模型2.GoogleNet网络模型3.下载GoogleNetcaffe模型文件4.模型的描述文件和分类文件5.正文(1)读取文件(2)读取类别文件并进行一定的处理(3)图像预处理和网络的前向推断(4&…

Java class.forname 功能介绍

Class.forName()主要功能:Class.forName(xxx.xx.xx)返回的是一个类,Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。对于大部分人来说,第一次见到 class.forName(String className) 这句代码…

GitHub超全机器学习工程师成长路线图,开源两日收获3700+Star!

参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 大会议题以及更多详情请查看:https://pythondevdays2019.csdn.net/ 作者 | 琥珀 出品 | AI科技大本营(ID:rgznai100) 近日,一个在 GitHub 上开源即收获了 3700 Star 的项…