分布式架构笔记(一)--分布式架构的演进

@mysql

分布式架构的演进

  • 架构的本质
  • 大型网站的架构演进

分布式、架构

阿里:去IOE,IBM,Oracle,EMCsql

需求:数据库

  • 有序化重构浏览器

    分与合,按照 子系统、模块,组件,进行拆分缓存

    业务架构/技术架构安全

抽象思惟服务器

架构的演变过程

开始:人员问题,时间周期cookie

Session保存数据,分多个服务器,http是无状态的网络

如何解决:Session +cookiesession

session 服务端保存状态

cookie 客户端保存状态

分布式架构,须要考虑Session共享,实现单点

Session共享

  1. Session复制,同步Session,
    1. 增长网络开销(只能在小的负载上)
    2. 消耗内存
  2. Session共享,同一存储,基于Redis存储
  3. 无状态存储,生成一个标识,把Session直接存储在客户端(token)----(存在安全性问题)

数据库性能提高

  1. 读写分离,->读多写少的场景
  2. 分库分表 ->历史库

数据库如何同步:mysql - master/slave

应用如何对数据源进行路由:mycat/sharding-jdbc

特性的问题

搜索引擎:Lucene,solr,elaticsearch(商业服务)

索引:基于原始数据,

全量构建->第一次构建

增量构建->后续商品新增,增量同步

非实时(异步/实时任务)、实时

ELK,ElasticSearch

Nosql存储,后者其余存储方式

hbase,MongoDB,Redis;。。。

浏览器缓存,应用缓存,数据库缓存,cpu缓存。。。

文件存储,OSS,HTFS...

分布式数据库

经过分表分库实现数据拆分

  1. 分布式事务问题->分布式数据一致性问题
    1. Spring cloud alibaba ->fecser

远程调用

Dubbo、thrift