项目架构优化后迁移阿里云实录
2016-08-12 17:07
239 查看
项目架构优化后迁移阿里云实录
公司一网站项目由于历史遗留原因已经不能支持先有业务(保密不能告诉你们公司具体项目),现在要整改,决定规划出新的方案,最后上阿里云。这里总结记录下,希望能给准备迁移上云的小伙伴们一个参考。
l 现有网站架构l 计划架构l 最终网站架构l 参考资料
现有网站架构:网站的思路:dns轮循到www.巧妙绝情李靖.cn(假想的网地),到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(负载均衡产品)来替换,最终修改如下图。
到此架构迁移完毕,后续博客会整理具体迁移步骤,并贴出具体文档配置。
本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
支持我,请点击巧妙绝情 谢谢参考资料: https://help.aliyun.com/document_detail/27539.html?spm=5176.product27537.4.2.trQsE7
公司一网站项目由于历史遗留原因已经不能支持先有业务(保密不能告诉你们公司具体项目),现在要整改,决定规划出新的方案,最后上阿里云。这里总结记录下,希望能给准备迁移上云的小伙伴们一个参考。
l 现有网站架构l 计划架构l 最终网站架构l 参考资料
现有网站架构:网站的思路:dns轮循到www.巧妙绝情李靖.cn(假想的网地),到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(负载均衡产品)来替换,最终修改如下图。
到此架构迁移完毕,后续博客会整理具体迁移步骤,并贴出具体文档配置。
本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
支持我,请点击巧妙绝情 谢谢参考资料: https://help.aliyun.com/document_detail/27539.html?spm=5176.product27537.4.2.trQsE7
相关文章推荐
- 项目视频讲解_基于SOA 思想下的WebService实战(电子商务需求,分析,架构全涉及,百万数据优化)
- 移动支付平台间接口报文解析技术核心架构实现、及平台交易处理项目全程实录教程
- 微软业务生产力平台基础架构优化(BPIO)之企业项目管理(EPM)解决方案
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- 在阿里“救了八年火”的架构师,大话系统架构优化项目
- web开发性能优化---项目架构篇
- web开发性能优化---项目架构篇
- iOS开发之利用MVVM框架来优化项目结构。对Controller瘦身以及MVC向MVVM框架的迁移。
- 项目架构设计总结:基于阿里云搭建的轻量级架构
- 项目成长记(四)―― 小型架构优化
- iOS开发之利用MVVM框架来优化项目结构。对Controller瘦身以及MVC向MVVM框架的迁移。
- 高性能可扩展MySQL数据库设计及架构优化 电商项目_1
- 大型互联网公司APP项目架构演进与优化实践视频教程
- web开发性能优化---项目架构篇
- 阿里云通过镜像迁移系统后,项目报异常Unable to set localhost. This prevents creation of a GUID
- 微软业务生产力平台基础架构优化(BPIO)中企业项目管理(EPM)模型概述
- 阿里云从Windows Server 2012迁移jsp+servlet+mysql项目到Linux系统
- Web项目架构优化单台机器到集群服务
- 阿里云存储表格存储TableStore-高并发IM系统架构优化实践
- 一次web项目从Weblogic服务到oracle AS10gR2的迁移过程