`
waterfox
  • 浏览: 9622 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web运维的可扩展性考虑

阅读更多

1.优化

  • 不要过度优化。这可能会从你的重要函数中拿走一些宝贵的资源。

  • 不要过早考虑扩展。考虑你系统当前面临的或可能支持的 10 倍负载,在大多数情况下会影响生产效率。在无法满足 2 个或 3 个服务前,关系数据库还是不错的选择。

  • 为了水平扩展性而优化和重构前,先优化单个节点的性能。

2.工具

  • 工具是熟练的技师造的。工具不能使技师变得熟练。

  • 工具本身不能解决问题,但正确的使用它可以解决问题。

  • 想要短期内熟练掌握一种工具用来生产,在遇到不是很棘手的问题时查询这些工具用户手册。

3.Cookies

  • 尽量使用 cookies 来保存数据。

  • 如果你担心损害,给它们签名。

  • 如果你担心用户看见它们的内部,给它们加密。

  • 和构建过多的服务端相比,使用用户的浏览器作为数据存储的复制节点还是比较廉价的。


4.数据存储

  • NoSQL 不能解决所有问题。
  • 关系数据库也不能解决所有问题。

  • 其他的一切也不能解决所有问题。
  • 找到需求,了解原因,然后找解决方案。

5.自动化

  • 当你发现你做某件同样的事超过 2 次,写脚本让它自动执行。

  • 当用户在监控系统发现前报告了错误,写个更好的监控工具。

6.版本控制

  • 版本控制同样重要。

  • 提供审计跟踪来帮助了解之前发生了什么。人不可能记住所有事情。当很难解决产品问题时,这将是一个很好的查询问题的地方。

7.网络

  • 考虑包而不是字节来节省负载时间。

  • 压缩一个 400 字节的 CSS 文件是没必要的,因为最小的 IP 数据包的大小是 1300 字节左右(如果数据小于这个大小,余下的包会被空字节填充)。

  • 事实上,压缩和解压缩会消耗服务端和客户端的 CPU 资源。

  • 不要有在 HTML 中嵌入 CSS 文件来节省一些额外包的想法。

8.缓存

  • 缓存所有静态数据

  • 给对象添加随机数或字符来强制加载该对象。

    • 如请求“ /images/myphoto.12345.jpg ”而不是“ /images/myphoto.jpg ”。

    • 去掉随机 ID ,使用如 htaccess 重写规则。

  • 尽可能使用 CDNs ,但确保你切换到 CDN 之前,了解你页面的所有对象。无意义的转发可能会损失掉以前很好的加载时间。

9.人

  • 当你为运维团队招人时,千万不要雇佣连他 / 她遇到的一个生产问题都记不住的人。你要识别出那些遇到问题并能解决问题的人。

  • 允许他们在生产中冒险,观察他们如何完成它。冒险是适应新思想的一部分。让他们失败并帮助他们知道怎样提高。

10.系统

  • 了解你的系统的基线。系统当前统计的一个实例或快照不能满足系统的所有当前的状态。

  • 使用工具每隔一段时间取得数据会帮助你了解这些信息。

11.Moderation

  • Moderate the tools and process you use

  • Moderate the moderation

 本文摘自:http://www.royans.net/arch/thoughts-on-scalable-web-operations/

2
0
分享到:
评论

相关推荐

    Go-基于GO语言和Saltstack开发的WEB运维平台

    - **扩展性**:Go语言的并发特性和 Saltstack的模块化设计,使得系统具有很好的扩展性,能适应运维需求的增长。 4. **开发和实现过程** - **项目结构**:SST-master可能代表了项目的主分支,通常包括src、bin、...

    基于GO语言和Saltstack开发的WEB运维平台.zip

    【标题】"基于GO语言和Saltstack开发的WEB运维平台" 这个标题揭示了我们要讨论的是一个使用GO语言(Golang)开发的Web应用程序,它的主要功能是作为一个运维平台,而这个平台的实现又借助了Saltstack工具。让我们...

    运维年终总结报告(PPT60页).pptx

    运维年终总结报告 ...运维管理规范化运维年度报告—运维规划运维三大核心高效性用户满意执行力可扩展性稳定性安全性四大方向——着力提升业务服务能力运维年度报告—运维规划运维年度报告—运维管理规范化运维。

    Python-lykops是一套web可视化的运维自动化项目基于python3django开发的可视化简化执行ansible任务并提供详细的任务执行报告

    在lykops中,Python3和Django的结合使得开发运维自动化平台变得更加便捷,同时也保证了系统的稳定性和可扩展性。 **二、Ansible任务的可视化执行** Ansible是一款流行的IT自动化工具,用于配置管理、应用部署和...

    监控运维监控平台技术方案

    3. 可扩展性:监控易运维监控平台技术方案具有良好的可扩展性,能够轻松地集成新的监控对象和功能。 4. 高度集成化:监控易运维监控平台技术方案具有高度的集成化,能够与其他系统集成,提供灵活的监控解决方案。 5....

    基于Python构建可扩展的自动化运维平台.pdf

    ### 基于Python构建可扩展的自动化运维平台 #### 一、背景及意义 随着互联网行业的快速发展,数据中心规模不断扩大,传统的手动运维方式已经无法满足高效、稳定的运维需求。因此,构建一套基于Python的可扩展自动...

    SQL server 2008 R2数据平台运维管理解决方案

    - **可编程管理**:通过T-SQL脚本等方式实现灵活的定制化管理。 综上所述,SQL Server 2008 R2 在数据平台运维管理方面提供了丰富的工具和功能,不仅有助于解决现有的管理难题,还能适应未来的技术发展需求。通过对...

    IT运维网络安全管理信息化综合应用及管理运行维护软件运维服务网络平台设计方案.pdf

    2. **组件化架构**:允许企业根据自身需求选择和构建运维平台的各个功能模块,确保资源的有效利用和系统的可扩展性。 3. **轻量级、Web化**:采用轻量级设计和Web界面,降低系统维护成本,同时简化升级流程,提高...

    运维36计 PDF

    书中可能会提供如何进行系统扩展、优化数据库查询效率、提升Web服务器响应速度等技巧。 8. **云计算与虚拟化**:云计算和虚拟化技术改变了运维的环境和方法。本书应该会讲解虚拟化技术(如KVM、VMware)的使用,...

    IT运维管理平台建设方案(监控 运维流程).docx

    IT运维管理平台建设方案是...在设计时,需要考虑平台的可扩展性,以便适应未来业务和技术的发展变化。同时,通过持续优化运维流程,提升平台的智能化程度,实现IT运维的精细化管理,从而更好地服务于企业的业务需求。

    java运维管理平台-后台管理小系统

    Oracle数据库以其强大的数据处理能力、高度的可扩展性和安全性,为Java运维管理平台提供了稳定的数据存储和查询支持。 运维管理平台的功能可能包括但不限于以下几个方面: 1. **服务器监控**:实时监控服务器的CPU...

    常用的运维监控系统 常用的运维监控系统

    它提供了基础设施监控、详细报告、警报和修复工作流以及API扩展性。 6. **Observium**:Observium是一个由网络工程师和系统管理员维护的自动化网络监控工具,提供社区版和专业版。Observium采用RRDTool进行数据存储...

    python自动化运维

    同时,许多第三方库如paramiko用于SSH连接,psutil获取系统信息,nagiosplugin用于监控,pexpect管理进程,fabric简化远程执行等,极大地扩展了Python在运维中的应用。 3. **自动化任务**:通过Python可以实现自动...

    Python-基于django的运维平台

    Django是一个用Python语言编写的开源Web框架,以其“快速、可扩展且安全”著称。它遵循模型-视图-控制器(MVC)架构模式,为开发者提供了构建复杂Web应用的便捷工具。在运维平台的开发中,Django可以提供强大的后台...

    Linux云计算 运维架构师笔记 下

    7. 集群技术用于提高服务的可用性和可扩展性,运维架构师需了解如何搭建和维护高可用集群,包括负载均衡集群、故障转移集群等。 8. 存储技术对于云计算来说至关重要,运维架构师需要掌握存储解决方案的规划、部署和...

    云计算运维解决方案说明

    可扩展性允许增加资源以提升性能,弹性则根据需求动态增减资源,而可迁移性确保资源可以根据需要在不同位置间移动。 2. **智能运维** - **智能运维**结合了数据科学、机器学习、领域专业知识和数学,以及数据工程...

    运维面试题目.doc

    中间件可以提高系统的性能、可扩展性和可靠性。 4. CDN CDN(Content Delivery Network)是一种分布式网络,旨在提供快速、可靠的内容分发服务。CDN 的工作原理是将静态资源缓存在多个 edge 服务器上,用户可以从...

    基于Zabbix Grafana构建微服务自动化监控运维平台.pdf

    微服务架构是当前软件开发中的热门话题之一,它可以将复杂的软件系统拆解成多个小型、独立的服务,以提高系统的灵活性和可扩展性。但是,随着微服务架构的普及,系统的监控和运维也变得越来越复杂,需要一个自动化的...

    基于 Python 3.5 + Django 2.0 开发的运维管理系统

    此外,可能采用了Docker或Kubernetes等容器化技术,以提高部署的便捷性和可扩展性。整个系统设计应遵循最佳实践,如RESTful API设计、单元测试、代码审查和持续集成/持续部署(CI/CD),以保证代码质量和项目稳定性...

Global site tag (gtag.js) - Google Analytics