项目架构优化,迁移阿里云实录
- 浏览:237
- |
- 更新:
公司一网站项目由于历史遗留原因已经不能支持先有业务,现在要整改,决定规划出新的方案,最后上阿里云。这里总结记录下,希望能给准备迁移上云的小伙伴们一个参考。
方法/步骤
现有网站架构:
网站的思路:dns轮循到确定的一个网站地址,到apache后,将所有图片请求转到nginx,同时会话写入redis,如果是查询数据,php直接读数据库,如果写操作就调用nginx转发到C++程序服务器,再写到数据库。
旧有架构问题:
1、web高可用采用dns轮循,并不能提高网站高可用,只起到负载分流作用。
2、apache直接响应客户端请求、又做反向代理、又要解析php,无缓裹敏存功能。
3、nginx图片服务器存在单点故障,且只做C++转发,没有利用nginx高并发高速缓存。
4、mysql存在单点故障和redis存在单点故障。
5、C++程序存在单点故障。
计划网站架构:
网站的思路:采用
lnamp架构,利用nginx高并发、代理转发实现负载均衡和强大静态文件处理能力,及图片缓存功能,再结合apache与php动态处理(apache+php稳定性比nginx+php-fpm和php稳定性好),实现静态动态分离,配合keepalived实现高可用。
优化后架构:
1、不再采用诉佛排DNS轮循,提高网站高可用,最前端nginx只做缓存和转发。
2、nginx图片服务器(nginx03/04)不再有单点故障,提高了高可用,和负载均衡能力。
3、Mysql分为主业务库和基础库(用户中心、后台、消息中心),做了双主结构,提高了高可用,和互国负载均衡的作用。
4、Redis也做了主从,c++程序启用俩台,提高了高可用,和负载均衡的作用。
5、采用了分布式文件系统。
- 此文章非法爬取自百度经验
最终网站架构:由于阿里云禁止广播和多播,导致计划网站架构keepalived不可用,最后采用阿里SLB(负载均衡产品)来替换,最终修改如下图。
END





