概述
还有公司敢用单机模式架构,狠狠的擦了一把汗。。在此萌生了改造单机架构模式,自行网上搜索出一套适合公司的高可用架构,才大致了解完毕。领导就召集大家说了现有单机模式的弊端。。 领导是火眼金睛吗? 好吧,该我低调的卖弄了。。
现有架构
就问你们看到可不可怕(因为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负载均衡搭建
今天就先到此了.... 继续撸码了!!! 欢迎大神指正批评!!! 欢迎大神指正批评!!! 欢迎大神指正批评!!!