系统架构设计与优化|系统架构之模式
文章目录
- 系统架构之模式
-
- 分层
- 分割
- 分布式
-
- 分布式分类
- 集群
- 缓存
-
- 缓存种类
-
- CDN
- 反向代理
- 本地缓存
- 分布式缓存
- 异步
-
- 采用异步好处
- 冗余
- 自动化
-
- 应对策略
- 安全
-
- 策略
系统架构之模式
文章图片
分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统分割
如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分
系统越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高系统的并发处理能力和功能扩展能力分布式
对于大型系统,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同的模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机完成同样的功能,计算机越多,CPU,内存,存储资源也越多,能够处理的并发访问和数据就越大,能够为更多的用户提供服务分布式分类
- 分布式应用和服务
- 分布式静态资源
网站的静态资源如:JS,CSS,Logo 图片等资源独立分布式部署,并采用独立的域名,即常说的动静分离
- 分布式数据和存储
- 分布式计算
特点是移动计算而不是移动数据集群
多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务,集群能够很好地提供扩容和容灾缓存
缓存就是将数据放在距离计算最近的位置以加快处理速度,缓存是改善软件性能的第一手段缓存种类
CDN
内容分发网络,部署在距离终端用户最近的网络服务商反向代理
反向代理属于系统前端架构的一部分,部署在系统的最前端,这里一般缓系统的静态资源以及做一些负载均衡本地缓存
在应用服务器本地缓存这热点数据,应用程序可以在本机内存中直接访问数据,而无需访问数据库分布式缓存
当系统数据量非常庞大,即使只缓存一小部分,需要的内存空间也不是单机能承受的异步 也是系统解耦的一个重要手段。异步架构是典型的生产者消费者模式,两者不存在直接调用,只要保持数据结构不变,彼此功能实现可以随意变化而不互相影响,这对系统扩展新功能非常的便利
采用异步好处
- 提高系统可用性
- 加快系统响应速度
- 消除并发访问高峰
自动化
无人值守的情况下系统可以正常运行,这是理想的状态应对策略
对于系统的发布,许多故障都发生在发布环节
- 自动化代码管理
- 自动化测试
- 自动化安全监测
- 自动化部署
- 自动化监控
- 自动化降级
对于系统并发量峰值比较大的业务,通过降级,能够避免系统的宕机,而带来大面积的影响,比如:降低队列中存储的请求数目
- 自动化分配资源
【系统架构设计与优化|系统架构之模式】根据每台机器的负载情况,决定请求由那台机器进行处理
- 自动失效恢复
- 通过密码和手机校验码
- 防 XSS 攻击
- 防 SQL 注入
- 敏感信息过滤
- 风险控制
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 爱琐搭配(喜欢复古、冷淡,像这种双环设计的气质耳环)
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 单点登陆
- 操作系统|[译]从内部了解现代浏览器(1)
- 别墅庭院设计,不同的别墅庭院设计也给人视觉上完全不一样的!
- 游乐园系统,助力游乐园管理
- 中国MES系统软件随工业化成长
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)