• 动态路由组件


    组件编码 hzero-starter-dynamic-route

    一、简介

    1.1 概述

    动态路由组件用于服务治理中 feign 调用及 zuul 网关层动态路由和URL客制化,将根据发布节点实例时配置的节点组规则以及当前请求的租户或用户选择配置的节点,从而做到动态路由。

    1.2 组件坐标

    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-dynamic-route</artifactId>
        <version>${hzero.starter.veresion}</version>
    </dependency>
    

    1.3 特性

    二、节点组规则

    首先需要明白这个组件是为了解决什么问题:

    解决这些问题的手段主要是通过配置规则,在发布服务时为节点实例打上节点组标签(nodeGroupId),从而根据配置找到相应的节点组。

    2.1 规则配置

    2.2 节点组标签配置

    2.3 创建节点组

    2.4 缓存规则

    服务发布成功后,会将节点组对应的规则缓存起来,请求时,则从缓存中查找规则,如果有匹配的规则,就会寻找相应的节点组,否则走通用节点。

    一共有三种类型的缓存,结构都为 HASH:

    三、组件核心思想

    3.1 网关层URL客制化:

    3.2 服务间 feign 调用URL客制化:

    3.3 节点定位:

    四、版本更新日志

    0.3.0-SNAPSHOT [2018-10-12]