分布式系统概述

时间:2021-04-23 04:42:37
  • 分布式系统简介  

    任何东西都是由浅到深的过程,分布式系统也由单机系统(比如一台电脑)演变而来。

    当数据太多的时候,单台机经受的数据运算压力比较大。解决办法就用多台机器来运算。将所有的运算的机器看作是一个整体,那么这个整体就是一个分布式系统把。

    下面看看传统的单机系统:

        分布式系统概述

    说句题外话,其实很多硬件的构架思想,在软件上依旧适用,比如在OSI的数据链路层,一般节点(路由等)之间的通信,在数据转发的时候,会比较mac地址。

    不是自己的数据包就丢掉。聊天的软件大多也是这种思路,服务器广播消息,所有客户端收到消息一看不是自己的就丢掉。再如面向服务器,将Cpu抽象为一个Server,

    存储设备抽象为数据库,输出设备抽象为响应,这样一个简单的c/s结构就形成了。

    分布式系统只是单机系统的扩展,扩展cpu由多台机器来承当,储存设备可扩展为分布式文件系统。输入输出一般不进行扩展:

    分布式系统概述

  • 分布式系统要解决的问题

    1)分布式主要是为了提高运算与存储数据的能力。

    2)分布式系统一是要解决Session问题,单节点(每台服务器就是一个节点)独立性,异地容灾等,这些在写服务器的时候要特别考虑。

      这里提一下关于session的问题,网上资料很多,我认为比较合理的做法是:

      首先你得做个过滤器,对每个访问,进行session数据转移存储,

      然后在在用户访问你的铭感信息的时候,你就用session去验证用户。(一般对铭感信息再做一个过虑器)

      分布式系统概述

  • 基于分布式系统编程

    如果说单机到分布式系统是一个扩展的过程,那么分布式编程则是一个拆分的过程,拆分的目的就是尽量独立,以后好对某个方面修改,而不影响其他。

    1,数据库拆分(按表格拆分,或拆分表格,读写分离);

    2,webapp拆分(一般按业务拆分);

    具体不多说,看图

    分布式系统概述