写点什么

Joyent 的容器名服务让服务发现更便捷

  • 2016-03-21
  • 本文字数:905 字

    阅读完需:约 3 分钟

云计算公司 Joyent 近日宣布自家的DNS 服务正式上线。该服务被称为Triton 容器名服务(Triton Container Name Service,简称CNS),可以让应用客户端及用户更容易地定位那些所在托管服务器不断变动的服务。

此处所指的服务器是由Triton 控制的计算实例,它可以是Docker 容器、架构容器(功能类似裸机虚拟机),也可以是虚拟机。Triton CNS 通过利用Triton 实例的名称和标签,来定位服务。一组提供某个服务的容器共享一个标签和一个CNS 地址记录(address record)。该记录可以直接通过互联网访问。

许多现代应用已经采用了不可变架构模型,意味着应用的每次更新会被推送到全新配置的服务器(或容器)上,随后新服务器上线,老服务器被废弃。大部分情况下,新部署服务的地址会有变化,客户端应用必须通过新的地址才能定位服务,这就涉及到手动修改配置。如果使用DNS 来实现服务发现(service discovery),那么就必须首先更新DNS 项(DNS entry)。这对于经常发布版本更新的环境来说操作繁琐。

大部分应用会在第三方DNS 服务商托管自己的域名。在这种情况下,自定义的域名可以映射到CNS 记录上。DNS 查找将会返回托管该服务的一台在线容器。由于CNS 与Triton 容器服务(Triton Container Service)高度集成,它掌握了每个容器的在线状态。随着容器不断新增和删除,Triton CNS 将密切追踪其状态,只返回当前在线的容器。

其他云计算服务商也能实现不可变服务器,尽管方式不同。例如,AWS 公司提供的“弹性IP”是可以指定给任意实例(AWS 对虚拟机的称呼)的一个IP 地址。准备好新实例后,弹性IP 就可以被指定给新实例,并不需要更改服务注册表(service registry)或DNS。Openstack 云部署中有一个叫作“浮动IP”的类似概念,支持同样的功能。

去年,Joyent 在一个讨论请求(Request for Discussion,简称RFD)中提出了CNS 这个概念。并在同一年推出了容器管理架构 Triton

查看英文原文: Joyent’s Container Name Service Eases Service Discovery


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-03-21 19:001389

评论

发布
暂无评论
发现更多内容

时间复杂度与常见排列算法

Changing Lin

算法

JavaScript06 - 操作符

Mr.Cactus

JavaScript

微信直播也有跳舞小姐姐了 | 视频号28天(17)

赵新龙

28天写作

产品 0 期 - 第一章作业

让时间说真话

产品经理

批判性思维自修课(一)

石君

28天写作 批判性思维

第二章作业

DF

JVM 垃圾收集算法

看山

JVM 垃圾回收算法

JavaScript08 - 数组

Mr.Cactus

JavaScript

【JS】Array.from() 将伪数组转换成数组

德育处主任

JavaScript js ES6 array 28天写作

架构师训练营第四周作业 - 命题作业

阿德儿

请用思维导图画出架构师训练营所有技术知识点

DL

产品经理训练营第二周作业-利益相关者

隋泽

产品经理训练营

认识产品经理

ALone

【函数计算实践】一个应用案例

程序员架构进阶

阿里云 架构 项目实战 函数计算 28天写作

Python 中 lru_cache 的使用和实现

zikcheng

Python 源码分析 LRU

【CSS】页面顶部阴影

德育处主任

CSS 大前端 html/css CSS小技巧 28天写作

【JS】Array.of() 创建数组

德育处主任

JavaScript 大前端 js ES6 28天写作

开发质量提升系列:checklist投产检查列表(上)

罗小龙

代码质量 28天写作 checklist

线程的三种等待唤醒机制(面试必问)

hepingfly

Java 线程 等待唤醒

LeetCode题解:105. 从前序与中序遍历序列构造二叉树,Simple O(n) without map,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

第九周作业

Binary

JavaScript07 - 流程控制语句

Mr.Cactus

JavaScript

GNUCash 2: 缺点

lidaobing

GNUCash 28天写作

大数据知识专栏 - 数据仓库

小马哥

大数据 hive 数据仓库 七日更

吐血整理:推荐几款顶级好用的IDEA插件

Silently9527

Java intellij-idea idea插件

云游戏的那些事儿!读《大厂们的下一件大事儿》有感

李忠良

28天写作

Java-可重入锁

hepingfly

Java 可重入锁

学习“利益相关者”后对自己工作的一点思考

隋泽

如何基于海思芯片快速搭建Agora RTC应用

Hanson

WebRTC

架构师训练营 4 期 第4周

引花眠

架构师训练营 4 期

「架构师训练营 4 期」 第四周 - 002

凯迪

Joyent的容器名服务让服务发现更便捷_服务革新_Hrishikesh Barua_InfoQ精选文章