您的位置:首页 > 运维架构 > 网站架构

对现有单机架构升级为集群架构的工作记

2017-06-22 00:00 225 查看
摘要: 现有公司采用的是单机模式,有个致命问题就是 有一台机器挂掉或重启会影响到相应的...

概述

刚到新公司神奇的发现,居然还有公司敢用单机模式架构,狠狠的擦了一把汗。。在此萌生了改造现有单机架构模式,自行网上搜索出一套适合公司的高可用架构,才大致了解完毕。领导就召集大家说了现有单机模式的弊端。。 领导是火眼金睛吗? 好吧,该我低调的卖弄了。。

现有架构



就问你们看到可不可怕(因为DB已经做了集群,此处就没画出来)。。。 任何一个节点挂掉,整个生产线就挂了,下面一一道来为什么那么说:

1. Nginx单点架构,一旦当前nginx挂掉,将致使外部用户无法使用访问应用

2. Tomcat:service-mix采用的1:1 访问,容易导致tomcat可以正常访问但下游服务挂掉,应用仍然请求到当前tomcat,但是无法提供服务

3. Redis单点使用,某一台挂掉,就会导致相应功能失效

架构优化



整体解析:

keepalived和nginx放在同一台机器中,用于完成vip漂移

nginx采用的主备,备机使用的虚线连接,当主机挂掉了,备机对应的虚线才会生效

架构设计自下而上方案解析:

1. 将现有session共享和业务两个Redis实例合二为一,redis采用主从集群模式。

2. Servicemix采用集群方案,tomcat请求nginx,nginx对servicemix进行请求分发。

3. Tomcat请求keepalived VIP,路由到nginx,完成对servicemix的请求

4. Nginx采用主备方案,用户请求到keepalived VIP,由keepalived选择决定访问哪台nginx

优化计划

整个优化计划是根据影响程度从小到大进行优化,所以分为三步走(每一步在实施完成后,均会发博文记录的):

Redis合并以及主从集群搭建

nginx主备环境搭建

servicemix负载均衡搭建

今天就先到此了.... 继续撸码了!!! 由于是第一次搞类似的工作, 欢迎大神指正批评!!! 欢迎大神指正批评!!! 欢迎大神指正批评!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: