微服务模式系列之七:自注册

译者自序:

熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我的痛苦指数,让我能够坚持把Chris Richardson的微服务模式系列文章翻译完,今天发布第七篇——《自注册》。

背景

如采用客户端服务发现模式或者服务器端服务发现模式,各服务实例必须在启动时注册至服务注册表,从而保证其能够被获取,并在关闭时进行注销。

问题

如何在服务注册表内注册和注销服务实例?

需求

  • 各服务实例必须在启动时被注册至服务注册表,并在关闭时进行注销。
  • 崩溃的服务实例必须从服务注册表中注销。
  • 在运行但无力处理请求的服务实例必须从服务注册表中注销。

方案

一项服务实例必须可以自动注册到服务注册表中。在启动时,该服务实例将自身(主机与IP地址)注册至服务注册表,使自身可被发现。客户端必须定期更新其注册信息,确保注册表获悉其仍处于运行状态。在关闭时,服务实例从服务注册表中自动注销。

这一流程通常由微服务底盘框架实现。

例子

自注册模式的优势在于:

  • 服务实例了解自身状态,因此能够实现比启动/停止更为复杂的状态模型,例如启动中、可用……

但自注册模式也存在着以下弊端:

  • 将服务与服务注册表耦合起来。
  • 需要为编写服务时使用的每种编程语言/框架分别实现服务注册逻辑,例如Node.JS/JavaScript、Java/Scala等等。
  • 仍在运行但无法处理请求的服务实例通常无法自动在服务注册表中进行自我注销。

结果背景

相关模式

  • 客户端发现与服务器端发现机制的存在催生了对服务注册表的需求。
  • 自注册模式与第三方注册模式是将服务实例注册至服务注册表的两种不同方式。

原文链接:http://microservices.io/patterns/self-registration.html

关于译者:

宋潇男

EAII-企业架构创新研究院 专家委员

现任普元云计算架构师,曾任华为云计算产品技术总监。曾负责国家电网第一代云资源管理平台以及中国银联基于OpenStack的金融云的技术方案、架构设计和技术原型工作。

原著作者

Chris Richardson

世界十大软件架构师之一,《POJOS IN ACTION》一书的作者。他的研究领域包括Spring、Scala、微服务架构设计、NoSQL数据库、分布式数据库、分布式数据管理、事件驱动的应用编程等。

本文分享自微信公众号 - EAWorld(eaworld)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-10-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

微服务架构:敏捷软件架构的实际体现

正如敏捷开发能够解决工程技术瓶颈,微服务则能够解决架构层面的瓶颈。 2014年出现的“微服务”理念仿佛一道闪电,让技术人员意识到这一全新架构风格的重要意义。面向...

38870
来自专栏云计算D1net

微服务和云应用程序性能如何融合

在云应用开发时,微服务可能是开发人员最好的朋友,但他们也可能是有害的。行业专家汤姆·诺勒为此分析了人们所关注的重点。 ? 很少有技术工具是如此的优秀,以至于它们...

37040
来自专栏Linyb极客之路

微服务架构:spring cloud简介

1.什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的We...

44680
来自专栏云计算D1net

混合云/多云环境如何部署微服务

微服务能够为混合云或多云部署带来大量的好处,但是它们也能够带来与网络、安全性等相关的新挑战。 ? 大多数IT企业已经开始认识到在开发和部署中实施软件组件化的好处...

37390
来自专栏云计算D1net

保护微服务需要知道的那些事

随着容器的持续流行,将应用改造成云上的微服务,对于很多希望IT运营更加敏捷高效的企业来说是显而易见的下一步。但是,在容器化应用并且部署之前,需要首先确保你的应用...

37070
来自专栏程序猿DD

浅谈微服务基建的逻辑

这篇文章主要目的是面向初接触微服务的朋友简单介绍微服务基础建设所需要的各个模块以及缘由。 起点 首先,我们得有一个“服务”。根据定义,我们可以把每个服务实例都视...

37580
来自专栏云计算D1net

跟上DevOps、微服务和混合云:网络需要自动化

网络正朝向基于软件的系统迅速发展,提供自动配置、改进的管理与安全性,以更好地支持DevOps风格的应用程序开发。软件网络(软件定义网络和网络功能虚拟化)的自动化...

37760
来自专栏程序猿DD

微服务2017年度报告出炉:4大客户画像,15%传统企业已领跑

开篇: 如果在诸多热门云计算技术中,诸如容器、微服务、DevOps、OpenStack 等,找出一个最火的方向,那么非微服务莫属。尽管话题炙手可热,但对传统行业...

55980
来自专栏程序猿DD

那些没说出口的研发之痛,做与不做微服务的几大理由

如果在诸多热门云计算技术中,诸如容器、微服务、DevOps等,找出一个最火的方向,那么非微服务莫属。在小数推荐的这篇文章里,做与不做微服务好像理由都很充分。另外...

36560
来自专栏Golang语言社区

微服务架构崛起 能否成为下一代云计算?

复杂度可控、灵活可扩展与独立部署 IT架构一直从all in one到近两年热门的微服务架构,技术不断进步,微服务架构模式(Microservice Arch...

38640

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励