zoukankan      html  css  js  c++  java
  • 分布式系统概述

    • 分布式系统简介  

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

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

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

            

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

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

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

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

        

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

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

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

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

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

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

          

    • 基于分布式系统编程

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

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

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

        具体不多说,看图

        

                      

  • 相关阅读:
    Python 第四十九章 css 补充
    Python 第四十八章 css样式
    Python 第四十七章 css介绍
    iOS 流媒体 基本使用 和方法注意
    iOS 展示 gif
    iOS UIImage UIImageView 展示图片 不变形 处理
    UIImageView 获取图片的 宽 高
    iOS tabbar 上面更换任意图
    iOS 屏幕原点坐标 && 导航栏风格的自定义
    iOS NSDateFormatter 不安全线程 处理
  • 原文地址:https://www.cnblogs.com/enjoyall/p/6601886.html
Copyright © 2011-2022 走看看