大型Java项目架构演进(小白)

大型Java项目架构演进(小白)

  • 增加服务器
  • 大部分的访问都在小部分的数据(缓存)上
  • 增加缓存(具有哪种业务特点的数据适合使用缓存)
    • 远程缓存
      • 远程单机缓存
      • 远程分布式缓存 (集群)
        • 分布式缓存在扩容时会遇到什么问题
        • 分布式缓存的算法有哪几种,优缺点
    • 本地缓存
  • 负载均衡调度服务器(横向扩展服务器,解决服务器处理能力瓶颈)
    • 调度策略都有哪些,优缺点,场景(轮询,权重,地址散列,加权…..)

    • 大型Java项目架构演进(小白)

Session管理

  • Session Sticky 粘滞会话,Nat转化至固定的服务器处理(服务器重启,session全部消失,服务器有了状态,容灾就有麻烦)
  • Seesion Copy (带宽瓶颈,还有内存瓶颈)
  • Cookie with session (cookie长度有限制,安全性)
  • Session Server (集群)

大型Java项目架构演进(小白)

大型Java项目架构演进(小白)

大型Java项目架构演进(小白)

大型Java项目架构演进(小白)

数据库瓶颈(读写分离)

  • 数据访问模型
  • 如何支持多数据源?
  • 如何封装对业务没有侵入?
  • 是否需要更换ORM?如何利用现在的ORM进行读写分离?

    数据库读写延时
    文件服务器瓶颈->分布式文件集群

  • 如何不影响已经在线上的业务访问?

  • 是否需要清洗数据?
  • 是否需要备份数据?
  • 是否重新需要做域名解析?
    大型Java项目架构演进(小白)

专库专用,数据库水平拆分

  • 解决写数据量大的问题
  • 跨裤的事务怎么解决?分布式事务,去掉事务,不追求强事务
  • 有哪几种数据库水平拆分的方式
  • 数据库水平拆分sql路由怎么解决?
  • 分页问题
    大型Java项目架构演进(小白)

    搜索引擎,NoSQL
    大型Java项目架构演进(小白)
    负载均衡服务器提升集群,主从双机热备
    大型Java项目架构演进(小白)

阿里

大型Java项目架构演进(小白)

  • 聚石塔-聚石塔成立于2012年7月10日,是由天猫携手阿里云、万网宣布联合推出的一个“开放的电商云工作平台”
  • ECS 云服务器
  • MQS 队列服务
  • OCS 缓存
  • 项目网站:www.happymmall.com
  • 阿里云源配置:mirrors.aliyun.com