莫说互联网实战开发,现在就连面试应届生的时候,分布式方面的问题都基本是必出的了。

分布式架构简介以最简单的架构来说,分布式可以通过部署多个功能相近的服务器节点来实现。在实际应用中,只暴露出一个域名给用户,该域名地址通常对应的是一个Nginx,用于负载均衡。Nginx在收到请求后,会根据当前情况,将请求分配给不同的服务器节点来响应。这套系统的架构图中,多个服务器节点的地位是相同。

分布式架构的优点从当前来看,分布式的架构主要有高并发,高稳定的特点。

高并发是指当单节点服务器的性能已经达到了瓶颈之后,可以通过引入Nginx,部署多个服务器节点的方式来扩容,增加系统的吞吐量。这就是 1*N =N的意义。

高稳定是指如果由于不可预测的原因,发生了单个或部分节点宕机,不会影响系统整体的功能服务,即M-N>0(其中M>N),对于用户来说,系统可用永远是最重要的。

以上两点对评估系统性能,以及服务口碑方面有着非常重要的意义。

综上,根据我个人的经验,目前不论是市场级产品还是公司级产品,只要是对服务质量有追求的项目组,都会殊途同归发展到分布式架构。

此外,对于功能不是非常复杂庞大的项目组来说,只要在最开始开发设计阶段,就及时引入memcache或者Redis作为数据缓存,而不是使用server的内存,那么后期切换为分布式系统的过程也会十分快捷。

以上是我的个人浅见,欢迎各位在下方评论区与我沟通。

我是苏苏思量,来自BAT的java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。