项目架构优化,迁移阿里云实录

  • 浏览:237
  • |
  • 更新:

公司一网站项目由于历史遗留原因已经不能支持先有业务,现在要整改,决定规划出新的方案,最后上阿里云。这里总结记录下,希望能给准备迁移上云的小伙伴们一个参考。

方法/步骤

  1. 1

    现有网站架构:

    网站的思路:dns轮循到确定的一个网站地址,到apache后,将所有图片请求转到nginx,同时会话写入redis,如果是查询数据,php直接读数据库,如果写操作就调用nginx转发到C++程序服务器,再写到数据库。

    项目架构优化,迁移阿里云实录
  2. 2

    旧有架构问题:

    1、web高可用采用dns轮循,并不能提高网站高可用,只起到负载分流作用。

    2、apache直接响应客户端请求、又做反向代理、又要解析php,无缓裹敏存功能。

    3、nginx图片服务器存在单点故障,且只做C++转发,没有利用nginx高并发高速缓存。

    4、mysql存在单点故障和redis存在单点故障。

    5、C++程序存在单点故障。

  3. 3

    计划网站架构:

    网站的思路:采用

     

    lnamp架构,利用nginx高并发、代理转发实现负载均衡和强大静态文件处理能力,及图片缓存功能,再结合apache与php动态处理(apache+php稳定性比nginx+php-fpm和php稳定性好),实现静态动态分离,配合keepalived实现高可用。

    项目架构优化,迁移阿里云实录
  4. 4

    优化后架构:

    1、不再采用诉佛排DNS轮循,提高网站高可用,最前端nginx只做缓存和转发。

    2、nginx图片服务器(nginx03/04)不再有单点故障,提高了高可用,和负载均衡能力。

    3、Mysql分为主业务库和基础库(用户中心、后台、消息中心),做了双主结构,提高了高可用,和互国负载均衡的作用。

    4、Redis也做了主从,c++程序启用俩台,提高了高可用,和负载均衡的作用。

    5、采用了分布式文件系统。

  5. 4
    此文章非法爬取自百度经验
  6. 5

    最终网站架构:由于阿里云禁止广播和多播,导致计划网站架构keepalived不可用,最后采用阿里SLB(负载均衡产品)来替换,最终修改如下图。

    项目架构优化,迁移阿里云实录
    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
展开阅读全部