Over the years, the system architecture which has experienced the evolution?

The rapid development of today's technology, system architecture also follow the development of technology continues to upgrade and improve, from the traditional single architecture evolved into today's micro-services distributed architecture, we look at the evolution of technology architecture.

 

NO.1 initial site architecture

The initial site construction, a limited number of visitors, the amount of data, only one server is enough, then all resource applications, files, databases, and all focused on this server, site architecture see below:

NO. 2 and application data separation

With the continuous development of business sites, a server can not meet the requirements, user traffic increases, the amount of data is also growing, which requires that the site has gradually become larger, which requires the applications and data separated into application servers, file servers and database servers. Chart as follows:

NO. 3 cache data to improve site performance

As users gradually increasing pressure to access the database becomes larger, resulting in access latency, low performance, then you need caching, queries are more or less change data cached to speed up application access speed, the following is the basic architecture diagram:

NO. 4 Application Clusters

In the case of site visits peak concurrent large, the application server will become the bottleneck of the whole site, a single application server limited resources, the connection will soon be overrun with high concurrency, this time, we need to deploy the application server clustering, load balancing dispersed traffic, reduce the pressure of a single server, site structure is as follows:

 

NO. . 5 separate read and write the database

This stage, the data continues to increase, the number of requests continue to increase, a single database is already not meet the requirements, the time needed to deploy a plurality of separate read and write databases, see FIG architecture:

 

NO. . 6 deployed CDN node

Dispersing the requesting user access means that users increase the amount of local, if all requests are sent directly to a central server, then the greater the distance, the worse the response rate, then you need to use CDN technology, by CDN acceleration, to ensure that users visit each all data acquired from the nearest server architecture diagram is as follows:

 

NO. 7 distributed database

分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。

不到不得已时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上,如下图所示:

 

 

NO.8 使用非关系型数据库

当网站数据足够庞大,达到PB甚至更高时,关系型数据库已经达到瓶颈,这时就需要考虑采用非关系型数据库了,请看下图:

 

NO.9 微服务架构

随着网站业务的不断扩大,我们需要将各个业务进行拆分,形成不能的产品线,每个产品线由不同的业务团队负责,各个产品之间需要通信,这时就要用到微服务架构,请看下图:

目前,最流行的 JavaEE 框架就是 Spring 框架,该框架是最古老也就是最成熟的 Java 技术框架之一。

为了适应技术的高速发展,Spring Cloud 出现了,它的出现带给了我们微服务的解决方案。

Guess you like

Origin blog.csdn.net/luoyajingfeng2/article/details/83617426