分布式架构
2017-03-06 21:41:19 0 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
高可用架构【网上的资料整理成思维导图】
作者其他创作
大纲/内容
大型网站架构
特点
用户量大,分布广泛
流量大,高并发
数据量大,高可用
安全环境恶劣,易受攻击
功能多,变更快,发布频繁
从小到大,渐进发展
以用户为中心
免费服务,付费体验
架构目标
高性能:提供快速的访问体验
高可用:网站服务一直可以正常访问
可扩展:方便的通过新增/移除方式,增加/减少新的功能/模块
可伸缩:方便的增加/减少硬件设备,提高/降低对外服务能力
安全性:提供网站数据安全存储和对外加密
敏捷性:随需应变,快速响应
网站架构模式-实现途径
分层
客户端层:表现为浏览器,以及APP应用
前端优化层:在此层可以对客户端层做优化
浏览器优化
减少http请求数
使用浏览器缓存
启用压缩
减少cookie传输
异步加载
DNS负载均衡
CDN加速
反向代理
应用层
应用集群
业务垂直拆分
数据存储层
关系型数据库集群
读写分离
分库分表
NoSQL集群
典型的redis集群
大数据存储层
收集应用层数据
收集服务层数据
使用关系型DB和NoSQL数据库存储数据
分布式文件系统
大数据分析层
离线处理
mapReduce
实时处理
storm spark等
日志展示
elk stack
分割:将业务按照功能/模块/业务特点进行分割
集群:将一个应用/模块/业务功能部署多份,通过负载均衡方式对外提供服务
缓存:将数据放在离用户最近或者访问最快的位置
异步:使用请求-响应-通知模式,将同步响应改成异步处理完成之后进行通知
冗余:增加副本,提供数据安全性,以及可用性
安全:对已知问题有成熟的解决方案,对潜在的风险有充足的防御机制
自动:将重复的,不需要人工干预的交给机器完成
敏捷:积极接受需求变更,快速响应
高性能解决之道
较短的响应时间
较高的并发处理能力
较大的吞吐量
稳定的性能参数指标
前端优化
应用层优化 处理网站业务的服务器。使用缓存,异步,集群
代码优化 合理的架构,多线程,资源复用(对象池,线程池等),良好的数据结构,JVM调优,单例,Cache等
存储优化 缓存,固态硬盘,光纤传输,优化读写,磁盘冗余,分布式存储(HDFS),NOSQL
高可用解决之道
应用层高可用
负载均衡技术
session共享/同步
服务层高可用
负载均衡
服务分级管理
快速失败(设置超时时间,超时则快速响应失败)
异步调用
服务降级
幂等设计
数据层高可用
冗余备份:冷备/热备
失败转移:数据确认,转移,恢复
CAP理论【强一致性,最终一致性】
可伸缩
不改变原有架构设计基础之上,通过增加/减少硬件的方式,提高系统对外服务能力
scale up VS scale out
服务层: 减小服务粒度,分布式部署,负载均衡
数据层:分库分表
可扩展
模块化,组件化
稳定接口
设计模式
消息队列解耦
分布式服务:公共模块服务化,组件化
安全架构
提供风险意识
服务器密码更换
每周安全扫描
安全制度化
应用程序安全
代码层面解决问题
跨站脚本攻击XSS
SQL注入
跨站请求伪造(CSRF)
防火墙
数据安全
设备安全
定时备份
传输安全
保存安全
敏捷性
业务,产品,运维,技术统一
敏捷管理
0 条评论
回复 删除
下一页