大型网站架构————核心原理-【可用性】4
来源:互联网 发布:ipad电视剧下载软件 编辑:程序博客网 时间:2024/05/16 06:49
【可用性】
- 可用性是啥子:
- 就是网站能顺利运行,那么涉及DNS劫持 CDN分发系统挂了 服务器宕机 网络交换机坏了 磁盘烧了 网卡松了 机房没电了 程序bug 黑客攻击。促销的高并发大流量 第三方合作商的不靠谱。这些都OK那么就可用。
- 可用性的考核度量
- 公司会把这个和升职加薪成为CEO挂钩滴。鼓励鞭策程序员做好可用性。
- 高可用性的架构:
- 买入好的设备。比如之前淘宝买了N多IBM小型机(专门的操作系统)部署在各个城市。沈阳 新疆啥的。oracle数据库。EMC存储设备。但是现在淘宝已经进入去IOE化了.也快开始变成PC机器和mysql的集群了。但是肯定还是不能完成去掉啊。核心重要的模块还是IOE靠谱。钱多质量好还是有道理的。
- 系统分层和分割:
- 应用层+服务层+数据层
- 各个业务单元独立占用一个服务器。
- 高可用类型
- 高可用应用层:应用的业务逻辑
- 显著特点就是应用的无状态性:
- 就是指的是应用服务器不保存业务的上下文信息,不去访问数据层,仅仅根据每次请求提交的数据进行相应的业务逻辑处理。多个服务器之间完全对等。请求背负在均衡系统分发到任何服务器处理结果都是一样的。当然实际上不行的,肯定会保持比如 购物车记录。好友信息。在线状态。
- 集群环境下session管理:
- session :多次请求修改使用的上下文对话成为会话session。单机好办 ,容器就管理了。但是在使用负载均衡的集群环境里,由于负载均衡服务器可能会把请求分发到任何一台服务器上。那么就复杂了。
- 办法1:session复制:集群里几台服务器之间同步session对象。都保存用户信息。适合小型架构服务器少。
- 办法2:cookie记录session:存在用户浏览器本地,同一个公司的各种服务之间登陆状态应该就是放在本地。
- 办法3:session服务器:最好的办法就是独立部署集群session服务器,然后共享session。
- 【把应用服务器的状态分离】
- 无状态的应用服务器集群。
- 有状态的session会话服务器集群——利用分布式缓存,数据库,设置专门的服务器。
- 高可用数据
- 数据是企业的灵魂。其他的硬件软件都是可以替换更新的。没了灵魂就废了。
- 所以数据不能乱来。所以要用副本数据。
- 数据持久性:多多备份数据副本
- 数据访问性:数据服务器坏了就不能访问数据
- 数据一致性:避免数据更新失败。必须保持一致性。
- 数据热备份:
- 失效转移:
- 失效确认
- 访问转移
- 数据恢复
- 高可用服务
- 分级管理:
- 核心应用和服务有限使用充足的硬件资源。比如付款购物车和商品评价,谁重要一眼便知。
- 服务器部署要分在不同地域,避免连锁反应。
- 超时设置:
- 就是万一宕机,那么用户请求长时间得不到响应还占用程序资源。不利于转移到正常服务器。那么就设置一个超时时间,一旦过了时间那么就选择继续重试或者转移到相同服务的服务器上——大公司的一般服务器不会失去响应
- 异步调用:
- 利用消息队列。一个服务完成那么就返回响应。实际上还没有真的成功。还在消息队列。
- 服务降级
- 拒绝服务:随即选一个用户不给提供服务
- 关闭功能:双十一把评价 确认收货这些不核心的东西都关闭
- 软件质量
- 网站发布:关掉旧的,开始用新的。还不能出现明显的变化。最好是夜深人静的时候吧。
- 自动化测试:模拟用户进行测试
- 自动化发布:
- 灰度发布:
- 运行监控
- 数据采集
- 用户日志:操作环境,IP地址停留时间。PV/UV指标——实时计算框架storm的日志统计和分析工具
- 服务器日志:日志记录功能
- 客户端日志:js收集
- 服务器性能监控:
- 系统load:
- 内存占用:
- 磁盘IO:
- 网络IO:
- 运行数据报告:
- 缓存命中率。
- 延迟时间
- 监控管理
- 系统报警:
- 失效转移:
- 自动优雅降级:
0 0
- 大型网站架构————核心原理-【可用性】4
- 大型网站架构演化——《大型网站技术架构:核心原理与案例分析》读书笔记
- 《大型网站技术架构:核心原理与案例分析》——大型网站架构演化过程
- 大型网站技术架构:核心原理与案例分析—第一章:大型网站架构演化
- 大型网站技术架构:核心原理与案例分析—第二章:大型网站架构模式
- 大型网站架构演化—《大型网站技术架构:核心原理与案例分析》
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第三章——大型网站架构核心要素
- 大型网站技术架构:核心原理与案例分析—第三章:大型网站核心架构要素
- 《大型网站技术架构:核心原理与案例分析》拜读总结——第二章:大型网站架构模式
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第十三章——大型网站故障案例分析
- 大型网站架构————核心原理-【高性能】3
- 大型网站架构————核心原理-【伸缩性】5
- 大型网站架构————核心原理-【可靠性】6
- 《大型网站技术架构》——核心原理与案例分析
- [笔记] 大型网站技术架构——核心原理与案例分析 [一]
- [笔记] 大型网站技术架构——核心原理与案例分析 [二]
- [笔记] 大型网站技术架构——核心原理与案例分析 [三]
- [笔记] 大型网站技术架构——核心原理与案例分析 [四]
- [LeetCode]38. Count and Say
- HDU 5907 Find Q (简单题目)【BestCoder Round #88】
- 399. Evaluate Division
- Direct3D补充篇:表面缓冲区技术实现动画的流畅显示
- maven+springmvc+spring4+hibernate4整合
- 大型网站架构————核心原理-【可用性】4
- 全排列的非递归实现及递归实现
- Spring实现CXF服务端
- UVA11488 Trie
- 马拉车(Manacher)算法最通俗教学
- Android开发与调试一:adb在win7下安装与使用
- 南京 我真的很爱你
- Java 流Stream、文件File和I/O
- 逻辑回归学习笔记