大型网站系统与Java中间件阅读

【读书】大型网站与Java中间件实战② 大型网站的架构演进

2018-08-01  本文已影响0人  月半是个字

大型网站的架构演进

什么是大型网站?

大型网站的架构演进

用Java技术和单机来构建的网站

图1. 技术单机构建的网站

从一个单机的交易网站说起

关注的是随着数据量、访问量提升,网站结构发生了什么变化,而不是关注具体的业务功能点

图2. 基于Java技术用单机构建的交易网站

各个模块之间是通过JVM内部的方法调用来交互的

单机负载警告,数据库与应用分离

访问量不断增大,服务器负载持续升高

数据库与应用分离

图3. 应用与数据库分开的结构

应用服务器负载告警,应用服务器搭建集群

应用服务器压力变大

应用从单机变成集群

图4. 应用服务器集群

Q1. 用户对服务器的选择问题
Q2. Session的问题

Q1. 使用DNS或者添加负载均衡设备


图5. 引入负载均衡设备的结构

Q2. session 解决方案

  1. Session Sticky
  2. Session Replication
  3. Session 数据集中存储
  4. Cookie Based

数据压力变大,读写分离

网站业务读多写少


加入读库后的结构

搜索引擎其实是一个读库,大型网站的站内搜索


加入搜索引擎的结构

加速数据读取的利器

  1. 数据缓存
  2. 页面缓存


    加入缓存后的结构

分布式存储系统

引入分布式存储系统的结构

数据库新瓶颈

  1. 专库专用,数据垂直拆分

把数据库中不同的业务数据拆分到不同的数据库中

  1. 数据水平拆分

同一个表的数据拆分到两个数据库中

上一篇下一篇

猜你喜欢

热点阅读