别说话,先瞅图,再看我~
这是真实上线环境的部署图,且听我一步步分析
第一步:
keepalived中内嵌了lvs, 本来我们采用的是nginx来做负载,但是在压测的过程中发现,采用nginx,cpu飚的很高,所以采用了lvs; keepalived中内嵌了lvs,所以只需要安装keepalived, 同时需要放一个shell脚本,绑定了对应的虚拟ip; 同时lvs调度服务器,也实现了高可用,当一个lvs服务器宕机时,可以自动切换到另一台lvs服务器;
第二步:
前端采用angular4,前端工程化;前端也同样采用jenkins来build. 前端build之后,都是静态文件,我们的脚本是直接把build的内容,替换了原本的内容,这样就会有一个问题出现, 不管前端内部有什么错误,jenkins在构建的时候,有些错误,是看不出来的. 所以解决办法, 用nginx把刚构建好的静态文件映射出去,写一个脚本去访问刚刚构建好的内容, 可以访问通,就证明构建的是没有问题的, 就去替换测试环境下的文件. 访问不通,发邮件通知;
前端部署了两份,用nginx来代理静态文件,可以正常访问前端.写了一段shell脚本,绑定了虚拟ip, 可以直接把数据返回给客户端.
具体信息走向,看下图