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. 插件查找
      • 通过名字查找到对应的插件,并返回
      • 调用方通过返回的插件实现操作服务注册和发现

  • 相关阅读:
    struts2之OGNL和struts2标签库和ValueStack对象
    struts2使用拦截器完成登陆显示用户信息操作和Struts2的国际化
    struts2的文件上传和文件下载
    jsp+servlet实现文件的上传和下载
    Ajax和JSON完成二级菜单联动的功能
    jxl的使用总结(java操作excel)
    Ajax异步验证登陆或者注册
    mydate97时间控件的使用
    Ckeditor一种很方便的文本编辑器
    搬家通知博文地址(将博客搬到CSDN)
  • 原文地址:https://www.cnblogs.com/zhaohaiyu/p/13566315.html
Copyright © 2011-2022 走看看