`
- 浏览:
341699 次
- 性别:
- 来自:
蕲春->上海
-
讲得很不错,实践性很强。
以下的内容还没有翻译好,我会迭代地把它翻译好。
-
Asynchronous - Use asynchronous communication when possible. Synchronous calls tie the availability of the two services together. If one has a failure or is slow the other one is affected.
-
Swim Lanes – Create fault isolated “swim lanes” of hardware by customer segmentation. This prevents problems with one customer from causing issues across all customers. This also helps with diagnosis of issues and code roll outs.
-
Cache - Make use of cache at multiple layers including object caches in front of databases (such as memcached), page or item caches for content (such as squid) and edge caches (such as Akamai).
-
Monitoring - Understand your application’s performance from a customer’s perspective. Monitor outside of your network and have tests that simulate a real user’s experience. Also monitor the internal working of the application in terms of query and transaction execution count and timing.
-
Replication - Replicate databases for recovery as well as to off load reads to multiple instances.
-
Sharding - Split the application and databases by service and / or by customer using a modulus. While this requires slightly more complicated logic in the application it allows for massive scaling.
-
Use Few RDBMS Features – Use the OLTP database as a persistent storage device as much as possible. The more you rely on the features offered in most RDBMS for your transactions, the greater load you are putting on the hardest item in your system to scale. Remove all business logic from the database such as stored procedures and move it into the application. When significant scaling is required join in the application and not through the SQL.
-
Slow Roll – Roll out new code versions slowly, to a small subset of your servers without bringing the entire site down. This requires that all code be backwards compatible because you will have two versions of code running in production during the roll out. This method allows you to find problems that your quality and L&P testing missed while having minimal impact on customers.
-
Load & Performance Testing – Test the performance of the application version before it goes into production. This will not catch all the issues, which is why you need the ability to rollback, but it is very worthwhile.
-
Capacity Planning / Scalability Summits – Know how much capacity you have on all tiers and services in your system. UseScalability Summits to plan for the increased capacity demands.
-
Rollback – Always have the ability to rollback a code release.
-
Root Cause Analysis - Ensure you have a learning culture that is evident by utilizing Root Cause Analysis to find and fix the real cause of issues.
-
Quality From The Beginning – Quality can’t be tested into a product, it must be designed in from the beginning.
原文地址:
SCALABILITY BEST PRACTICES
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这些演变旨在提高系统的可伸缩性、灵活性和可靠性,同时也便于维护和更新。 总结来说,系统架构优化是一个涉及多个层面的过程,包括但不限于系统拆分、数据库设计、服务治理和架构的持续演进。通过这些最佳实践,...
【云原生最佳实践合集】是一份由腾讯云编撰的关于云原生技术实践的综合指南,其中涵盖了多个领域的最佳实践案例,旨在帮助企业利用云原生技术优化架构,提高系统性能,实现业务的高效运行。以下是其中几个关键知识点...
通过以上分析,我们可以看到,无论是提高系统的高可用性还是增强其可伸缩性,都需要从多个层面出发,综合考虑各种因素和技术方案。此外,实践中还需要不断地测试和优化,以确保系统能够在各种场景下稳定运行。
总结,构建大数据平台调度系统的最佳实践涵盖了选择合适的调度框架、优化任务调度策略、弹性伸缩、监控报警、数据管理、用户体验和安全性等多个方面。通过这些实践,企业可以更有效地利用大数据资源,提升数据分析的...
Oracle真正应用集群(RAC)是Oracle数据库的一种高级特性,旨在提供高...这将确保系统的高可用性、可伸缩性和高效运行,同时降低故障风险。与供应商紧密合作,制定详细的项目计划,包括全面的测试,是确保成功的关键。
本文分享了关于Kubernetes日志管理的最佳实践,由阿里云日志服务技术专家元乙分享。在深入介绍之前,我们首先需要了解日志的基本概念以及在Kubernetes环境中的特殊应用。 日志分为多种形式,包括但不限于文本日志、...
这种架构风格在近年来得到了广泛的关注和采纳,因为其能够提高系统的可伸缩性、灵活性和可维护性。 微服务架构的发展历程可以追溯到2011年,当时的理念是将服务设计得更小巧、专注,以此提升系统的可管理性。James ...
- **应用架构调优**:优化数据访问层、缓存机制、异步处理等,采用微服务架构可提高系统的可伸缩性和可维护性。 #### 五、调优过程中的注意事项 在进行调优过程中,需要注意以下几点: - 在没有明确且共同认可的...
2. **可伸缩性最佳实践**:这部分内容会讨论如何设计和实施能够处理高并发和大数据量的系统。这可能包括负载均衡、缓存策略、水平扩展、数据库优化等策略,旨在确保系统的高效运行和扩展能力。 3. **使用负载均衡...
本文件“大数据平台调度系统的最佳实践.pdf”很可能是提供了一些关于如何优化和设计这样的系统的实用建议。虽然具体内容未在提供的信息中详细列出,但我们可以基于通用的大数据调度系统知识来探讨一些关键知识点。 ...
11. **扩展性和可伸缩性**:HBase可以通过增加Region Server来水平扩展,以处理更大的数据量和更高的并发请求。 12. **最佳实践**:文档中会包含实际操作中的最佳实践,如合理设置HBase的配置参数、优化数据模型、...
- 实现负载均衡:微服务架构中通常会部署服务的多个实例以提高系统的高可用性和可伸缩性。负载均衡器能够智能地分配请求,保证流量均匀地分布在各个服务实例上。 - 考虑服务自治和弹性设计:每个微服务应具有自主...
分布式系统设计原理与实践是IT领域中的重要主题,它涵盖了多台计算机协同工作以实现一个共同...在学习过程中,如《分布式系统概念与设计》这样的书籍是极好的资源,能够帮助读者深入理解这一领域的核心概念和最佳实践。
分布式服务允许系统将复杂任务分解为多个独立的服务进行处理,提高系统的响应速度和可伸缩性。测试这些服务时,我们需要确保它们在不同的节点间通信的正确性和一致性。分布式缓存服务器则用于存储常用数据,减少...
同时,学习如何使用母版页(Master Pages)和内容页(Content Pages)创建一致的布局,以及使用CSS进行样式控制,能提高网页的可维护性和一致性。 **实践三:单点登录(Single Sign-On, SSO)的实现** 单点登录是...
- **模块化设计**:将大型系统分解为可独立部署和维护的小模块,有助于减少复杂性并提高可伸缩性。 - **松耦合**:使用接口和抽象类来降低组件之间的依赖,使得系统更易于扩展和重构。 - **面向服务架构(SOA)**...