前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >架构·Client-Server

架构·Client-Server

作者头像
幺鹿
发布2018-08-21 15:56:26
9310
发布2018-08-21 15:56:26
举报
文章被收录于专栏:Java呓语Java呓语

1、目录

  • 概述
  • 两层架构
  • 三层架构
  • MVC 架构

2、概述

一个联网应用程序总是分布在两个或多个主机之间,这就衍生了我们该如何在多个主机之间划分功能的问题。

我们从两个方面关注该问题: 1、技术推理。 2、组织如何管理其网络计算基础架构和联网应用程序。

3、两层架构

有两个基本的替代方案如下图所示,C/S 架构P2P 架构

*C/S 架构 与 P2P 架构

3.1、 C/S 架构

C/S 应用程序 一部分是由 以与客户端或用户交互为基础的主机,另一部分主机则是专门用于管理大型数据存储库,处理应用特有的数据和逻辑的服务器。

这给 C/S 架构引入了不对称的功能性,客户端需要向服务端发起请求,而服务端需要满足(答复)客户端的请求。C/S 架构适合应用于在服务器上发布的信息管理应用程序。OLTP 应用则是传统的 C/S 架构中的良好示例。

3.2、P2P 架构

这是 C/S 架构的替代架构,P2P架构不设立服务端,只有客户端。这种架构对于一些去中心化的即时通信应用是有吸引力的。P2P 很适用于语音或视频会议的场景。P2P 的很明显的特征是功能的对称性。

一般来说,可以将C/S和P2P架构混合在一起。举例,许多直接即时通讯社交应用涉及信息管理和多用户交互方面。一个客户端主机可以同时作为 Client 或 Peer,这取决于该主机在应用程序的角色定义。

4、三层架构

二层结构无法识别包含关键数据库一类的特殊需求,典型的例子是 OLTP。希望将这些关键任务数据库集成到C / S应用程序中,而不会牺牲其期望的质量。

下面将展示三层的 C/S 架构:

  • 第一层:客户端(用户)。
  • 第二层:服务端(用于存放应用程序的逻辑)。
  • 第三层:数据库(不同的应用程序所需要的共享数据)。

三层的 C/S 架构

这种3层架构的动机包括:

  • 表现:专注于单个用户
  • 应用程序逻辑:支持多用户,通过添加多台服务器来支持更多用户的成本是较低的。
  • 关键共享数据:支持多个应用程序。

这三层的 C/S 架构字啊每层之间都是n…1的关系。显然三层架构比两层架构具备更高的扩展性,向客户端隐藏的异构数据库支持以及提供了不同的通信协议的更好支持。

5、MVC 架构

模型 - 视图 - 控制器(MVC)应用程序架构是用于分析分布式应用程序的功能的流行模型。这种抽象有助于将应用程序分解成逻辑组件,以实现更容易/更清晰的分布式实现。

MVC 划分在监视和处理数据中涉及的对象之间的功能,以便最小化这些对象之间的耦合度,并因此将这些对象映射在多层架构上。

最初 MVC 用户解耦:输入、数据处理、输出 UI 界面。但是,将此模型映射到多层网站或企业应用程序也很简单。

MVC

  • 模型(Model):操作数据。

当 Model 层数据变更时通知 View 。 它允许 Controller 访问 Model 封装的方法。

  • 视图(View):将 Model 提供的内容渲染出来。

它可以查询Model关于数据的模型并指定如何呈现它。

  • 控制器(Controller):定义应用程序的行为。

它将用户手势映射到要由Model执行的操作。在标准的 GUI 客户端,用户手势可以是按压按钮。在 Web 环境,它可以是发起一次 HTTP GET/POST 请求。通常一个Controller,表示一组相关的功能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.03.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、目录
  • 2、概述
  • 3、两层架构
    • 3.1、 C/S 架构
      • 3.2、P2P 架构
      • 4、三层架构
      • 5、MVC 架构
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档