互联网架构演变过程

        数据库分层  提升性能

 应用分层   优化服务

 

 

 

Session共享
1:session复制
2:Session共享 统一存储(把session数据放到redis sever获取redis上的session)
3:无状态存储 例如:客户端设置access_token (这个token是服务器加密后给客户端 客户端访问服务器时 服务器解析token)存在安全问题

 

数据库性能提升
1:读写分离 -> 读多写少的场景
2: 分库分表 -> 历史库

数据如何同步(mysql数据库自带的 -master /slave)

应用如何对数据路由 mycat /sharding-jdbc

 

特性问题
搜索引擎: lucence,solr,elasticsearch(商业服务)
索引 ->
全量构建 ->第一次构建

增量构建 - >增量同步

非实时构建(异步/定时任务)

 


nosql存储(非关系型数据库)或其他存储方式
hbase,mongoDB,redis;...

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

文件存储 OSS,HDFS...

 


分布式数据库 (通过分表分库实现数据库拆分)
1:分布式事务问题 -> 分布式数据一致性问题
spring cloud alibaba -> fescar(seata)/RocketMQ - >分布式事务解决方案

 

远程调用
dubbo,thinft...

高可用方案

1:单点故障

多机房部署
基于当前用户所在的位置去找一个最近的机房进行数据传输

 


监控

1:链路监控 zipkin。tracelID
2:硬件监控:cpu,内存,磁盘

全链路压力测试,单节点压力测试,loadrunner,jemeter,apache ad工具

 

 

SOA->微服务->serviceMesh 演变

 

posted on 2020-02-27 16:28  pipizhou  阅读(200)  评论(0编辑  收藏  举报