UN1L4——数据通信模型

数据通信模型

对于网络游戏开发来说。我们采用C/S模型来进行前后端开发

在服务端的布局上往往使用的是,分布式的形式进行管理,比如服务端的用户数据使用集中式进行管理
玩家的数据都存储在数据库应用(SQL Server、MySQL)中

服务端应用程序使用分布式进行管理,账号服务器、游戏服务器、聊天服务器、跨服PVP服务器等分布式管理
这些服务端应用程序都使用数据库中的数据分别进行逻辑处理

这部分知识点我们只做简单了解,对于Unity前端程序来说,我们目前不用专门去学习服务端相关技能
对于网络游戏开发中的网络相关知识,前端程序更多的只需要学习

  1. 如何和服务端建立网络连接
  2. 如何和服务端交换信息

关于服务端如何设计,如何制作,我们目前只需简单了解,不做深究

在早期的计算机网络中,为了有效的利用计算机,一般将数据通信模型分为:

  • 分散式(Decentralized)
  • 集中式(Centralized)
  • 分布式(Distributed)

这三种方式决定了数据在网络环境中的管理方式:

  • 分散式

    在分散式系统中,用户只负责管理自己的计算机系统,各自独立的系统之间没有资源或信息的交换和共享。就类似一台台没有联网的设备
    这种模式由于存在大量共享数据的重复存储,除了引起数据冗余之外,也容易导致一个组织内各部门数据的不一致性。
    同时还会造成硬件、支持和运营维护等成本的大量增加,因此早被淘汰

  • 集中式

    在集中式环境中,用一台主计算机保存一个组织的全部数据,而用户则通过设备连接到这台计算机系统并和它通信,从而达到访问数据的目的

    • 优点:方便数据共享、消除了数据的冗余和不一致性
    • 缺点:可靠性不如分散式,主机出现故障所有系统全部瘫痪
  • 分布式

    分布式是分散式和集中式的混合,类似我们学习过的计算机网络,是分散式的水平交互和集中式的垂直控制相结合的一种模式
    它兼具了分散式和集中式的优点,方便数据共享、消除了数据的冗余和不一致性,同样也加强了容错性

举例子:
比如一般的企业管理系统就是一个典型的集中式和分布式的综合体现
所有数据用专用的数据库集中存储,属于集中式
而对数据的处理则由各个部门的软件分别控制,属于分布式

C/S模型

C/S(Client/Server)模型也叫C/S模式,就是我们上节课学习的客户端和服务端模式
它是目前大多数网络通信采用的模型,从程序的角度来说,客户端和服务端打交道,相当于是两个应用程序(进程)在打交道

B/S模型

B/S(Browse/Server)模型也叫B/S模式,它是一种基于Web的通信模型,使用HTTP超文本传送协议通信
B/S是一种特殊的C/S模型,特殊之处就是这种模型的客户端不需要我们自己开发,一般是某种浏览器,比如IE、Chrome、QQ浏览器、360浏览器等等

B/S模型的优点就是单台计算机可以访问任何一个Web服务器,简单的说就是Web服务端可以随意变,但是客户端是通用的
我们不需要针对不同的服务端专门提供客户端应用程序了

P2P模型

P2P(Peer-to-Peer)模型也叫对等互联,每个联网的设备同时运行一个应用程序的客户端(Client)和服务端(Server)部分
也就是说一个应用程序同时作为客户端和服务端

  • 优点是通信方便,成本低
  • 缺点是可靠性不如C/S模型