浅谈分布式系统及其nginx

导读

随着互联网的蓬勃发展,现在的各种各样的联网工具都出现,连聊天工具也数不胜数———QQ、微信、陌陌等等,这些聊天工具每天每日都有人在用着它,最高时可达几百万甚至几千万同时利用的可能性,微博爆炸性新闻的发表,也会导致千万级的人流量去同时对这种头条进行访问。那么我们可以知道这样的人流量,一台服务器根本招架不住,甚至会导致服务器彻底奔溃,这样又损财又损人是一个很不好的选择。


分布式系统

接上,这时我们如何去解决这样的一个问题呢?随即人们就发明了一种系统叫做分布式系统(Distributed System)。

分布式系统就好像一个领导者一样,一台独立的计算机可以动态分配任务,可以缓解数万级的并发量,使之资源得以有效利用。人们的希望是采用最低的费用,去实现同样的功能,而每一台计算机的配置又是不一样的,这时候应该采用一种类似于比例或者需求分配的划分给相应的计算机处理,这样可以大大减少了某一台计算机的压力,这样就叫做负载均衡。分布式系统布置了所谓的n台计算机来处理承载量,通过处理后的用户可以进入微服务集群来得到一系列的服务,比如消息推送等等。当然同时每一个微服务有对应的数据库,每一个数据库配有主从容灾,为了防止两地相隔较远,保全功能和监听的作用。

如图,这就是较完整的客户请求一系列通过分布式系统:


nginx

如果说高并发量的存在给某一台服务器带来了巨大的压力,那么我们都希望有一个东西能够代理客户的请求,去直接访问服务器,间接的去减少某一台服务器的压力,这时候nginx反向代理服务器就存在了。

        

这样看来就相当的直观明显了。nginx最主要是拥有负载均衡的功能,将客户量按一定比例或需求分配到不同的服务器上面,都能达到相同解决的效果。比如说微博上的一条热门新闻A,另一条冷门新闻B,A新闻需要更多服务器去承载它的并发量,容更多的客户,相比之下新闻B则不需要这么多的服务器去处理,那么可能安排它去低配置的服务器或者给更少的服务器,因为它的关注不是大家需要的。当然,这些就说明了nginx的作用是相当大的,如果说正向代理是面对客户端反向代理则是面向服务端。


总结:

分布式系统也是我第一次接触而去尝试总结,给我印象最深的是nginx和分布式系统的具体流程。对于我们来说,或许不必知道更多关于分布式系统内部的某一模块是如何去具体实现的,比如说消息队列、消息推送,这些甚至可以通过购买来进行引用相应的框架去实现。但是分布式系统的完整架构,我们是一定要掌握的,这是计算机网络里面相当重要的部分。如果没有分布式系统,我们或许没有如此便利的上网,去感受网络和智能给人类带来的便捷和迅速。

猜你喜欢

转载自blog.csdn.net/qq_41903105/article/details/86562140