• 对分布式工程的初步认识和理解


      大型网站都是由小型网站发展而来,网站的架构也是一样。小型网站一开始没太多人访问,只需要一台服务器就绰绰有余,这时的网站架构如图所示:

            

      这时,应用程序,文件,数据库等所有资源都放在一台服务器上,一个普通的网站就这样被开发出来了。

      随着网站业务的发展,一台服务器已经不能满足我们的需求,随着用户的访问量激增导致性能越来越差,缓存和数据库中越来越多的数据导致存储空间不足,这时就需要将应用程序,数据库和文件分离,将它们各自部署到一台服务器上,这三台服务器对硬件资源的要求各不相同,应用程序需要处理大量业务,所以需要更强大的CPU; 数据库服务器需要更快的硬盘检索速度和储存数据,所以需要更快的硬盘和更大的内存;文件服务器需要存储大量的数据,所以需要更大的存储。分离后大致如图所示。

                       

      如果性能还是不够我们还可以分别对它们做集群,这也可以大大增加用户的访问量和存储能力。已经分离的工程可以通过Alibaba的dubbo和zookeeper来联系。

      以上是我对分布式思想的初步认识和理解

    ---------------------------------------------------分界线--------------------------------------------------------------

      接下来是我的分布式工程的初步学习实现。

      由于我刚开始学习分布式,在建工程的时候并没有用到多台服务器,只是将工程发布到了一台服务器的不同端口下,从形式上实现了工程的分布式;而且刚开始我为了方便学习,只是将应用层的web分离了出来,其余部分还是保持原来的模式,所以我以下内容也是根据我具体的工程来写的。 

      我将web分离出来后,由于一个网站分为用户和管理员,这时,我们需要实现两个用户和管理员两个功能,但是考虑到用户和管理员功能的不同以及访问量的差别,为了更加充分地利用服务器的性能,提高效率,我们还可以将web端的管理员和用户进行分离,根据人数差距,这时少量的服务器处理管理员操作,余下的大量服务器可以解决用户的需求;如果将管理员和用户都放到相同的服务器下,每台服务器都会同时运行管理员和用户功能,这是数量极少的管理员功能便会占据服务器的很多资源,造成资源性能的浪费。由于时间原因,今天先不发代码,代码将会在今后补上。

    下图为管理员和用户的分离图(忽略红线)。

                            

      

  • 相关阅读:
    重点解说--MVVM指南(课程学习)
    模块划分--MVVM指南(课程学习)
    开发步骤--MVVM指南(课程学习)
    MVVM指南(课程学习)
    centos vi和vim用法
    阿里云centos系统上安装ftp
    thinkphp的ip地址定位
    thinkphp方便分页的page方法
    thinkphp data方法
    thinkphp i方法
  • 原文地址:https://www.cnblogs.com/Shevo/p/9010528.html
Copyright © 2020-2023  润新知