zoukankan      html  css  js  c++  java
  • 服务注册与发现

    服务注册

    服务发现

    服务提供者、服务消费者、服务发现组件这三者之间的关系如下

    1 各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息。

    2 服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者接口。

    3 各个微服务与服务发现组件使用一定机制(例如心跳)通信。服务发现组件如长时间无法与某微服务实例通信,就会注销实例。

    4 微服务网络地址发生变更(例如实例增减或者IP端口发生变化等)时,会重新注册到服务发现组件。使用这种方式,服务消费者就无须人工修改提供者的网络地址了。

    服务发现组件的功能

    1 服务注册表

    服务注册表是一个记录当前可用服务实例的网络信息的数据库,是服务发现机制的核心。它用来记录各个微服务的信息,例如微服务的名称、IP、端口等。服务注册表提供查询API和管理API,使用查询API获得可用的服务实例,使用管理API实现注册和注销。

    2 服务注册和服务发现

    服务注册是微服务在启动时,将自己的信息注册到服务发现组件上的过程。服务发现是指查询可用微服务列表及网络地址的机制。

    3 服务检查

    服务发现组件使用一定机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表中移除该实例。

    基于插件管理

    1. 插件抽象

      • 实现了Registry接口,就是一个注册插件
      • 基于etcd的注册插件
      • 基于consul的注册插件
      • 基于zookeeper的注册插件
    2. 插件管理

      • 提供RegisterPlugin函数,用来注册插件
      • 基于名字对插件进行管理
      • 插件初始化,通过名字对插件进行初始化

    服务注册的方式

    服务发现的方式

    1. 插件查找
      • 通过名字查找到对应的插件,并返回
      • 调用方通过返回的插件实现操作服务注册和发现

  • 相关阅读:
    NSlog 对于新手的一点技巧和用法.
    iOS7+ 扫描二维码和条形码实现 耗时操作
    关于iOS block循环引用的一点理解
    Xcode 快捷开发的几个插件
    在Mac下面删除所有的.svn文件
    一个textView 预留空白的问题
    Supporting Multiple iOS Versions and Devices
    Building an iOS Universal Static Library
    iOS Library With Resources
    iOS开发长文--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
  • 原文地址:https://www.cnblogs.com/zhaohaiyu/p/13566315.html
Copyright © 2011-2022 走看看