1. 分布式
传统项目问题:
采用传统的架构设计时, 将所有的模块都写在一起, 当其中某个模块出现问题时, 将导致整个项目乃至Tomcat服务器都不能正常执行
例如: 系统的日志模块代码有问题, 流用过了忘记关掉, 导致内存溢出, JDK基于JVM, JVM内存溢出导致所有依赖JDK的应用都会有问题, 导致整个系统不能用, Tomcat服务器有问题
分布式概念:
根据特定的规则将项目进行拆分, 如果某个模块出现了问题, 将不会影响到整个服务的运行
特点: 对外统一, 对内独立
作用: 分布式实现了系统架构之间的松耦合
拆分规则: 垂直拆分 && 项目的水平拆分
垂直拆分: 按照业务功能(模块)进行拆分
水平拆分: 在垂直拆分的基础上, 按照代码调用的层级进行拆分
日志管理系统: POJO层, VO层, view层, Controller层, Service层等等
2. 高并发
概念: 单位时间内, 有大量的用户访问服务器, 会造成高并发
影响: 官网不能访问, 用户访问受限等
服务器 理论值 实际值
tomcat 220个/秒 150个/秒
weblogic 1000个/秒 750个/秒
3. 集群
概念: 由多台服务器(tomcat)组成的共同为用户提供服务的配置称之为集群
高可用(High Availability): 当服务器出现了问题, 可以实现自动化的故障迁移
一般在搭建集群时都要实现高可用
网址(对应一个IP) <====> 负载均衡器(Nginx-软件负载均衡器, 免费/F5-硬件负载均衡器, 要花钱) <====> tomcat(80)、tomcat(81)、tomcat(82)
4. 海量数据处理
项目每天会产生大量的数据
日志记录: 10G/天
大数据方向
5. 安全性
阿里支付宝: 安全级别最高
阿里风控系统:
1. 最近2小时内修改过密码
2. 不是常用手机
3. 不是常用地址
4. 转账账户不是常用账户
5. 转账人不是好友关系(通讯录)
6. 转账的账户近期有安全风险
分布式项目优化
6. jar包如何维护
利用父级项目管理jar包, 子级项目只需要继承即可, 父级项目中不要添加插件
7. 工具API如何管理
采用工具类项目的形式进行管理, 项目需要依赖工具类