2KB项目,专业的源码交易网站 帮助 收藏 每日签到

运用DNS作为REST Web办事的发明机制

  • 时间:2019-03-14 17:34 编辑:2KB 来源:2KB.COM 阅读:404
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:Usi
英文原文:Using DNS for REST Web Service Discovery

REST架构的使用在地下Web办事与企业集成两个方面获得较波动的开展势头。但是,在面向办事架构的某一方面没有获得足够的注重:办事发明机制。

在这篇文章中,我将描绘现存的Web技巧是怎么促使在RESTful Web办事完成办事发明机制。

寻觅办事发明的处理计划

一个想要与某一办事交互的客户端需求一个初始的URI用来进入所供给的使用。那怎么来获得这个用来进入使用的URI呢?有以下三种不必的方法:

  1. 在客户端对这个URI设置装备摆设实行硬编码;
  2. 创立一个专用的基于HTTP的处理计划(一个办事注册使用);
  3. 应用现有的一些办事发明机制。
现在,硬编码或许将初始的URI设置装备摆设写入客户端应当是最多见的手腕。但是,害处是时期所引入的耦合将使得办事的供给者难以从头安排办事,或许为办事设置装备摆设某种方式的负载平衡。

经过创立专用的Web使用来供给基于HTTP的办事注册机制、同时联系关系规范媒体类型是一种实在可行的选择,可是这只是在没有现存可用技巧时的最初选择。

运用现存以安排的技巧明显是最好的处理计划。我们无需四处寻觅这类大范围普适的牢靠处理计划,域名系统(DNS)就是我们所需的。DNS首要是一个用来查找关于主机的IP和供给例如查找域名对应邮件Server等其他办事的散布式数据库。

这篇文章将描绘怎么应用规范的DNS功用来完成办事发明机制。

办事发明机制的需求

办事发明机制的处理计划该当具有如何的才能?这是一个很常用的场景:一个客户端从完成一个特色功用的办事列表中查询并遴选一个实行交互。凡是这个客户端在某个场景底限制了这个查询。例如,一个客户端可能不需求一切的购物办事,它只需求www.examplebooks.com网站下的购物办事。

我们可以把提炼出以下的需求:一个办事发明机制应当是客户端有才能

  1. 获得特定品种下一切办事的列表;
  2. 获得一个特定办事示例的进口URI;
  3. 获得关于这个办事的元数据;
  4. 限制查找的鸿沟(如,查找domain example.org下一切的搜刮引擎)
我们会顿时发明,现存的DNS支撑上述一切的需求。接下来我们先环视并了解一下RESTfull系统中办事类型的观点。

RESTful系统的办事类型

办事发明机制的需求之一就是使得它可以取得希冀的容量。凡是,一个客户端从指定品种的办事列表中基于附带的元数据或许随机地拔取一个可用的办事。

但不幸的是,办事类型这个观点还没有呈现在REST Web办事范畴中。为了让基于类型的办事发明机制成为可能,我们必需起首发明一个能具体阐明办事类型的办法。

那里合适界说办事类型及其称号呢?思索到RESTful Web系统独一能运用的阐明文档是媒体类型及其类型关系的标准,那将其界说在媒体类型标准中就很天然了。

那它是怎么运作的呢?让我们来看一下博客办事与搜刮办事这两个例子。

界说REST Web办事类型的例子

Atom出书协定

Atom出书协定标准界说了一系列的可用于完成出书接口的超文本类型和链接关系。它最开端的用处是用来出书宣布收集日记,但它异样可以用来为任何一个治理条目、组织条目标系统供给办事接口。

为Atom出书协定界说一个办事类型容易到只需在其标准中为这个办事类型指定一个名字。然后客户端,用这个名字经过办事查询机制,查询这个完成了Atom的办事。为了便利,我们以后都将这个Atom办事名字取为_atom_http。(不必担忧这个名字中的下划线或是名字的格局,这只是一个DNS转换。我会在前面说明这个。)

OpenSearch

OpenSearch标准规则了“OpenSearch描绘文档用来描绘一个可以被搜刮客户都所运用的搜刮引擎。”我们不用深究此处的办事类型:搜刮引擎。我们不如把它改变成一种称号为_search_http的Atom办事。

经过在OpenSearch标准中参加这个办事称号,我们可以用它来做基于DNS的办事发明。

域名example.org

在这篇文章中,我将用_atom_http_search_http这两个实践的办事类型作为例子来讲明我们将要会商的内容。下面是一张关于example.org域名的图样。此中的两个主机mars.example.orgneptune.example.org都运转了Atom协定和搜素类型的办事。

mars.example.org主机上供给了常识库和旧事定阅两个Atom办事。同时另有一个用于查找旧事归档的搜刮办事。neptune.example.org上运转了一些博客和与之联系关系的搜刮办事用于查找此中的条目。

依据我们之前线举的需求,一个办事发明机制需求处理以下几个问题:

  1. 此中哪些办事是支撑Atom协定的?
  2. 此中哪些办事是支撑OpenSearch标准的?
  3. 怎么定位到指定的办事?
  4. 指定的办事中又有哪些可用的元数据?
别的,它还需求限制example.org域名前往后果的数目。

DNS(非常)笼统的引见

在互联网早期,每一个主机上都保管了记载主机名与对应的ip地址的一个静态文件(hosts.txt)。跟着互联网上主机数量的增加,因为范围问题更新这个文件酿成了一个困难。DNS经过非中间化地治理这个数据库,处理了这个范围性的问题。去中间化的治理经过拜托的方法来完成,这就意味着一个特定索带路径块(一个域名)的具有者可以将这个域名的部分一切权拜托给其他组织来替代治理。

DNS是一个途径索引的散布式数据库,它具有以下的才能:

  1. 散布:一个DNS数据库可以散布在互联网上非常多台称号主机上。
  2. 拜托:一个特定索带路径块的具有者可以将部分域名一切权拜托给其别人。
  3. 类型资本记载:DNS可以联系关系域名的若干种数据类型记载。在域名查询时可以指定所需的类型。
  4. 缓存:思索到功能,DNS自带缓存。
  5. 容错性:DNS可以复制若干个,使得当单个称号Server不运转时仍持续供给办事。

域名的治理者经过修正称号Server来把持DNS查询所前往的后果。凡是,称号Server具有这个域名一些部分(区段)的完好信息。

当称号Server启动时,它会从一个文件中或经过其他称号Server加载一个或多个区段,然后才干够呼应关于这些区段的查询。

当一个DNS客户端查询一个指定域名的信息时,它与它设置装备摆设所指向的称号Server树立联络,顺次查询其他称号Server直到恳求的资本记载被定位,然后前往给客户端。

本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协定,假如我们的任务有进犯到您的权益,请实时联络我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部