javaweb从单机到分布式架构演变过程
16lz
2021-01-22
第一阶段
单机系统(权限问题,ORM,MVC,IOC)
shiro解决权限问题为以后扩展留好空间
springboot简化spring配置社区活跃度已经超越spring
springmvc已经合并到springboot中
mybatis主流的ORM方式可以集成二级缓存为后期扩展做好准备
第二阶段
读,写压力(二级缓存,锁)
系统的数据量开始增大,访问量增大,读压力增大,秒杀抢购场景,写压力大
mybatis-redis二级缓存方式支持集群分布式存储,缺点链接查询时会有脏读
redisson秒杀场景使用
第三阶段
集群系统(负载均衡,会话问题,存储问题)
系统压力不断加大,需要分在均衡方式解决性能问题
nginx配置负载均衡方式
shiro-redis会话的集群方式
fastdfs由于应用部署在不同的机器上,文件访问也要改造成远程获取(改动较大)
第四阶段
分布式系统(服务通信问题)
对系统进行合理差分,规避分布式事务,使一个系统转变为诸多小系统互相通信,减小应用压力
二者选一个即可
dubbo,zookeeper(注册中心)主流的RPC通信方式,诸多大厂已经使用
springcloud(注册中心,配置中心,路由中心)HTTP的服务治理方式,生态极其完善
第五阶段
tidb(分布式数据库,支持事务,mysql协议)
更多相关文章
- Java:在特定队列大小之后,以提交方式阻塞提交的ExecutorService。
- 低延迟系统的Java实践
- Java实现Windows系统服务
- 我精通delphi,asp,java,c++bulider这些工具,熟悉Interbase,Oracle,
- java SSH员工管理系统以及Demo代码下载
- 在Java中选择showMessageDialog框右上角的x按钮退出系统?
- 二分法查找递归方式()
- 本地方法中printf如何传给java--java系统级命名管道
- 一个Java Application运行后,在系统中是作为一个什么来运行的?