ACE 服务和配置设计维度

news/2024/7/7 21:54:47

服务器提供给客户端的一组功能称为服务。在网上能够获取到常见的服务包括:

  • Web内容解索服务。
  • Castanet、Citrix这样的软件发布服务。
  • 电子邮件已经网络新闻的传输服务
  • 远程机器上的文件访问服务
  • 网络时间的同步,也就是NTP服务
  • 支付处理 服务
  • RealPlayer或者QuickTime之类的音频/视频流服务

在诸如编译时、静态连接时、安装时或者是运行时这样的各种不同的时间节点上,都可以将组成网络应用的服务配置在一起而创建网络应用。

对于网络应用所使用的通信协议和机制以及并发性架构的领域分析。

对其他处理关键的网络应用属性的设计空间进行分析。这些属性包括服务的时续时间和服务结构,如何识别网络化服务,以及它们绑定在一起形成完整应用的时间。这些设计空间对任何网络应用都很重要,对ACE的Service Configurator框架尤其重要。然而,如果你已经对这些设计空间很熟知,你可以跳到第三章开始学习ACE的各种框架。

2.1 服务和服务器设计维度

在设计网络化应用时,区分服务(Service)和服务器(Server)之间的不同十分重要:

  • Service: 是提供给客户的某种能力。
  • Server: 是用来提供服务的机制。

关于服务和服务器的歌中歌设计决策很容易发生混淆,但却应该分别加以考虑。
本节覆盖了一下服务和服务器设计维度:

  • 短持续时间服务 VS 长持续时间服务
  • 内部服务 VS 外部服务
  • 有状态服务 VS 无状态服务
  • 分层式/模块化服务 VS 整体式服务
  • 单服务服务器 VS 多服务服务器
  • 一次性服务器 VS 持续式服务器

2.1.1 短持续时间服务 VS 长持续时间服务

网络服务器所提供的服务可被分类为持续时间短和持续时间长的。这些时间长度反应了服务持有系统资源的时间长短。在这一设计维度中,主要的权衡涉及:“当系统资源可在别处更好地被利用时仍然将其占据” VS “在需要某服务时对其进行重启的开销”。在网络化应用中,这一维度与协议选择紧密相关,因为不同协议的设置需求可能会显著地不同。

  • 短持续时间服务
    在执行时间短,且常常是固定的;通常一次处理一个请求。短持续时间服务的例子包括:当前时间计算、解析IP地址和Ethernet号,以及从网络文件系统的缓存中获取磁盘块;为了使花费在连接设置上的时间降至最低,短持续时间服务常常使用无连接的协议(UDP/IP)来实现。

  • 长持续时间的服务
    在运行时间更长,且常常是变长的;在其生命期中可以处理许多请求。长持续时间服务的例子包括通过FTP进行的大型软件传输,从使用HTTP的Web服务器上下载MP3文件,从使用RTSP的服务器上下载音频和视频流, 通过telnet远程访问主机资源,以及在网络上进行远程文件系统备份。运行时间更长的服务在协议选择方面的灵活性更大。例如:为了提高效率和可靠性,这些服务常常通过面向连接的协议(TCP/IP) 或者面向会话(session-oriented)的协议(RTSP或者SCTP)来实现。

日志服务===>从单个的日志记录的角度来看,我们的服务器日志daemon就像是短持续时间服务。每个日志记录的最大长度都被限制为4K字节,尽管在实践中大多数日志记录都要小的多。花费在处理一条日志记录上的时间相对很短。但是,因为客户可以传送许多日志记录,譬如:可以持续的发送日志记录。所以我们可以这样来对其性能进行优化:对客户日志daemon进行设计,让它们与它们的对端服务器日志deamon建立连接;随后为后续的日志请求复用这些连接。为每个日志请求设置并断开Socket连接既浪费资源,又耗费时间,特别是在频繁发送小请求的情况下。因此,我们把我们的客户服务器日志deamon建模为长持续时间服务。

2.1.2 内部服务 VS 外部服务

服务可被分类为内部的或外部的。在这一维度中的主要权衡要素是服务初始化时间、服务间的隔离,以及简单性。

  • 内部服务

  • 外部服务

2.1.3 有状态服务 VS 无状态服务

服务可被分类为有状态的和无


http://lihuaxi.xjx100.cn/news/1490621.html

相关文章

自定义Chronometer实现定时器

概述 自定义Chronometer实现定时器,引用方便,操作简单。 详细 前言 在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件,它就是Chronometer,今天我们基于它自定义实现…

SNN论文总结

Is SNN a great work ? Is SNN a convolutional work ? ANN的量化在SNN中是怎么体现的,和threshold有关系吗,threshold可训练和这个有关吗(应该无关) 解决过发放不发放的问题。 Intuation SNN编码方式 Image to spike patter…

Kuka机器人设计通用码垛程序

假设需要一个码垛程序, 从输送线抓到托盘, 托盘每层4个, 需要码5层, 可以用以下程序架构设计: 1, 再config中定义层数cengshu , 每层码垛的个数(码垛的次数)cishu , 每层的高度levelHeight , 码垛放置点的集合putPoint[,] ,预放点1集合prePut1[,], 预放点2集合prePut2[,] DEC…

国际站腾讯云容器镜像服务介绍!!

腾讯云容器镜像服务: 腾讯云的容器镜像服务Tencent Cloud Container Registry(TCR)旨在为开发者和企业供给高效、安全的容器镜像办理和存储平台,以处理容器镜像的保管、分发和办理问题。容器镜像是一种轻量级、可移植的软件包&…

【Python】python 打印本地代理

前言 在 Python 中,如果需要访问被墙的网站或者需要隐藏本机 IP 地址,可以通过使用代理服务器来实现。本文将介绍如何打印本地代理的方法,并提供相应的代码和实例。 一、什么是代理服务器 代理服务器(Proxy Server)是…

爬虫逆向实战(二十四)--某鸟记录中心

一、数据接口分析 主页地址:某鸟记录中心 1、抓包 通过抓包可以发现数据接口是front/record/search/page 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现,请求参数是加密的 请求头是否加密? 通过查…

Web Components详解-Custom Elements

目录 引言 演变过程 概述 使用方式 创建标签 定义标签 使用标签 获取标签 异步定义标签 升级标签 完整案例 结语 相关代码 参考文章 引言 随着项目体量的增大,组件化和模块化的优势也愈发明显了,构建可重复使用、独立、可互操作的组件变得…

HDLBits-Verilog学习记录 | Verilog Language-Modules(2)

文章目录 25.Adder 1 | Module add26.Adder 2 | Module fadd27.Carry-select adder28.Adder-subtractor 25.Adder 1 | Module add practice: You are given a module add16 that performs a 16-bit addition. Instantiate two of them to create a 32-bit adder. O…