书摘-构建高可用性和可伸缩系统
来源:互联网 发布:linux如何卸载jenkins 编辑:程序博客网 时间:2024/05/17 01:43
高可用性
对于互联网应用或企业 中得大型应用而言,多数都要求尽可能做到7X24小时不间断的运行,要完全做到不间断的运行,基本上不太可能!
为了实现高可用,要避免系统中出现的单点、保障应用自身的高可用、面对访问量及数据量不断增长带来的挑战!
书中提到构建高可用性的几点:
第一点是从硬件出发,第二点是从自身应用出发!
1、避免出现单点(硬件)
单点现象是指系统部署再单台机器上,一旦这台机器出现问题(硬件损坏、网络不通),系统就不可用。
解决这种单点现象最常见的方法就是将系统部署再多台机器上,每台机器对外提供同样的功能,通常将这种系统环境称为集群!
技术点:
负载均衡
热备
使用多机房
2、提高应用的可用性(软件)
尽可能避免故障 : 【明确使用场景】 【设计可容错的系统】 【设计具备自我保护能力的系统】【限制使用资源】【其他角度】
及时发现故障:【报警系统】【日志记录和系统分析】
访问量和数据量不断上涨的应对策略:【水平伸缩】【拆分】【读写分离】【其他】
可伸缩
所谓的可伸缩无非就是要以一种简单、优雅的方式来应对访问量以及数据量的增长。
作者认为:通常这种简单优雅的方式是指无需改动软件程式,仅通过升级硬件或增加机器即可应对访问量以及数据量增长带来的挑战!理由是,毕竟软件成本的改造相对较大!(能做到就很完美,但是通常都是理想模式)
伸缩分为 :垂直伸缩和水平伸缩,通常通过升级硬件或增加单台机器的硬件来支撑访问量或者数据量增长的方式叫做垂直伸缩,成本很低,适用于小型系统!缺点是硬件是无法不断升级和增加的,很容易瓶颈!不适合大型应用!
通常通过增加机器来支撑访问量及数据量的方式称为水平伸缩,理论上没有瓶颈,但是技术要求很高!
- 书摘-构建高可用性和可伸缩系统
- 构建高可用可伸缩系统设计的一些方法论
- 如何构建高可用和可伸缩的架构?
- 如何构建高可用和可伸缩的架构?
- Linux和Windows搭配提供高可用性、可扩展性系统
- 书摘-可伸缩性-垂直伸缩
- 构建可伸缩的系统笔记
- 构建可伸缩系统 Scala vs Java
- 构建可伸缩,高性能的互联网应用
- 构建可伸缩,高性能的互联网应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- 使用 watchdog 构建高可用性的 Linux 系统及应用
- Dos命令查看端口占用及关闭进程
- Tomcat处理HTTP请求源码分析(上)
- 观察者模式
- Android TextView 垂直自动滚动
- DWZ (JUI) 教程 可以伸缩的查询面板 (searchBar)
- 书摘-构建高可用性和可伸缩系统
- 自定义flex4* list中的滚动条样式
- JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
- 开源的移动应用框架
- cache control on appengine
- php实现单例模式
- Google Nexus S和Nokia C7中的NFC
- 将JS代码隐藏在图片中的方法
- java程序设计(机工社)下载资源