请教弹性伸缩这个功能是怎么用的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
keroppi
V2EX    云计算

请教弹性伸缩这个功能是怎么用的?

  • nbsp;
  •   keroppi 2020-01-02 09:26:00 +08:00 6356 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没用过这个功能,所以有点点疑问
    1. 代码怎么同步
    2. 如果假设我解析域名到 A 服务器,现在因为 A 服务器资源到达我预设的值增加了服务器,那么这个域名解析怎么办?
    3. 要使用负载均衡这个产品吗?
    13 条回复    2020-01-02 11:24:47 +08:00
    opengps
        1
    opengps  
       2020-01-02 09:29:07 +08:00
    系统镜像(单机包含完整系统运行环境)+已有资源的利用率监控+自动扩容的黑白名单
    必须用负载均衡,不然没办法参会集群负载,负载均衡除了自己分流功能之外,还起到"统一入口"功能,对外只提供负载均衡的公网 IP
    keroppi
        2
    keroppi  
    OP
       2020-01-02 09:32:00 +08:00
    感谢,如果我代码经常有更新,弹性伸缩又有 N 台机器在跑是怎么处理代码同步的问题?
    opengps
        3
    opengps  
       2020-01-02 09:32:31 +08:00   1
    @keroppi 每次重新制作自定义镜像
    opengps
        4
    opengps  
       2020-01-02 09:39:28 +08:00
    @keroppi (涉及到升级系统代码,需要手动,还需要考虑是否允许新旧版本同时运行)具体操作起来步骤要求比较繁琐,还有几个坑要注意避免。
    1,准备新自定义镜像,生成好机器,加入伸缩组
    2,要下线的机器权重改为 0 (注意:不接受新链接,但是老链接依然还在)
    3,确认负载能力,要下线的机器是否可以关机,没问题的话关了甚至释放都可以
    4,一次性替换或者多次循环替换所有机器
    以上是我随口说的,可能存在不严谨的地方。另外恭喜你开始体会到上云的价值,大部分人其实只是用了云服务器就认为"上云"了,其实并没发挥到真正价值
    luckyrayyy
        5
    luckyrayyy  
       2020-01-02 09:41:52 +08:00
    1、每次拉取的都是最新的或者指定稳定分支上的通过测试的代码啊。
    2、A 肯定是一个统一网管,后面才是具体的服务,网关不会变动的。
    3、肯定需要有负载均衡
    vanton
        6
    vanton  
       2020-01-02 09:47:01 +08:00
    @keroppi #2 使用 NAS
    opengps
        7
    opengps  
       2020-01-02 10:07:33 +08:00
    @vanton NAS 存内部使用的文件合适,但是对于 web 端引用的文件(比如用户上传的头像等),建议使用对象存储 OSS,配合 CDN 加速,避免出流量占用负载均衡带宽或者流量
    vanton
        8
    vanton  
       2020-01-02 10:08:47 +08:00
    @opengps #7 正解,静态文件用 OSS+CDN,这个是常规做法。
    d5
        9
    d5  
       2020-01-02 10:09:10 +08:00
    如果要比较简单点的实践,可以简单在 dns 层面设置分流:

    华为 dns + daocloud 或 k8s

    现在大多 dns 解析商都提供了 restful api 接口,并可以设置 a 记录的权重和线路.
    当检测到主机配置不够的时候,直接起新的容器 /复制相同主机,然后获得 ip 地址,用 http 接口增加新的 a 记录。
    C603H6r18Q1mSP9N
        10
    C603H6r18Q1mSP9N  
       2020-01-02 10:31:14 +08:00
    阿里云的我们一直再用
    负载均衡要的,伸缩服务器会 自动添加和移除负载
    常规做法是拿其中一台做镜像,然后其他的在重新部署,这种适合代码不怎么动的情况
    我们还做过代码可以手动同步,写的脚本
    lqy2575395
        11
    lqy2575395  
       2020-01-02 10:38:17 +08:00
    有个开机脚本,代码自己写个脚本开机的时候去同步一份最近代码,最好在做下校验
    ReallllQCloud
        12
    ReallllQCloud  
       2020-01-02 11:00:28 +08:00
    1. 代码怎么同步
    -- 代码放到镜像里,然后在 userdata 里写个开机启动服务的脚本,每次更新代码后更新镜像,这样扩容出来机器就是最新代码,固定的机器需要手动升级(或者用镜像重装,如果要保持服务不断要手动扩一台机器撑着,重装完缩掉)
    2. 如果假设我解析域名到 A 服务器,现在因为 A 服务器资源到达我预设的值增加了服务器,那么这个域名解析怎么办?
    -- 只能自己写个脚本,监听弹性伸缩生命周期然后修改,当然更好方法见 3
    3. 要使用负载均衡这个产品吗?
    -- 最好使用,原因是方便,因为弹性伸缩是与负载均衡天然打通的(腾讯云、阿里云、AWS,其他不确定),也就是增加的机器会自动挂载到负载均衡监听器下面,结合 2 考虑你的架构(最前 域名 www.xxx.com ==> 负载均衡 ===> AS ),这样全流程都是使用云产品,你自己不需要搞个什么脚本找个机器跑了
    nrtEBH
        13
    nrtEBH  
       2020-01-02 11:24:47 +08:00
    代码更新用 docker image 最方便
    或者用虚拟机模版的 userdata 基本厂商都支持 启动时候跑一个脚本同步数据
    负载均衡会处理域名解析问题 你把域名指向负载均衡的别名就可以了
    找几个厂商的产品文档看下理解会更深刻
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5670 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 06:09 PVG 14:09 LAX 22:09 JFK 01:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86