[转]淘宝服务端高并发分布式架构演进之路
1. 1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
Just One Pure ITer
1. 1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。
很多项目使用 JSON 作为配置文件,最明显的例子就是 npm 和 yarn 使用的 package.json 文件。当然,还有很多其他文件,例如 CloudFormation(最初只有 JSON,但现在也支持 YAML)和 composer(PHP)。 但是,JSON 实际上是一种非常糟糕的配置语言。别误会我的意思,我其实是喜欢 JSON 的。它是一种相对灵活的文本格式,对于机器和人类来说都很容易阅读,而且是一种非常好的数据交换和存储格式。但作为一种配置语言,它有它的不足。
一份顶级的微服务开源工具清单 关于微服务的好文章不计其数。对于那些一直没有亲历微服务或初次听到这个概念的人来说,这篇文章相当于把一份顶级的开源工具清单送到他们的面前。微服务是一种用于开发高度可伸缩软件系统的架构风格。这种架构可用于开发企业、政府、学校和慈善机构的企业级应用。它与传统的单体架构完全相反,单体架构只专注于单个应用程序。 微服务小而独立,但在开发和维护方面,它们的架构可能很复杂。微服务之间通过同步协议(如 HTTP/REST)或异步协议(如 AMQP)相互通信来实现业务目标。
说到微服务,服务拆分是绕不过去的话题,但是微服务不是说拆就能拆的,有很多的前提条件 1. 服务拆分的前提 服务拆分的前提,首先要有一个持续集成的平台,使得服务在拆分的过程中,保持功能的一致性。 这种一致性不能通过人的经验来,而是需要经过大量的回归测试集,并且持续的拆分,持续的演进,持续的集成,从而保证系统时刻处于可以验证交付的状态。 而非闭门拆分一段时间,最终谁也不知道功能最终究竟有没有 Bug,因而需要另外一个月的时间专门修改 Bug。
Follow:
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |