ストレージは、クラスタリングのための動的ルーティングゲートウェイルーティング、ゲートウェイ、ゲートウェイ、ダイナミックルーティング構成、使用のMySQL [SpringCloudビルドするためのフレームワークを分散] [A]

1、table文のMySQLの構築

CREATE TABLE `gateway_dynamic_route` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键自增Id',
  `route_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '路由Id',
  `uri` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '路由规则转发的uri',
  `order` int(11) NOT NULL DEFAULT '0' COMMENT '路由的执行顺序',
  `predicate_json` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '路由断言集合配置json串',
  `filter_json` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '路由过滤器集合配置json串',
  `enable` bit(1) NOT NULL COMMENT '状态:0,"不可用");1,"可用")',
  `create_time` timestamp NOT NULL COMMENT '创建时间',
  `update_time` timestamp NOT NULL COMMENT '修改时间',
  `create_user_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
  `last_user_id` bigint(20) DEFAULT NULL COMMENT '最后操作员的Id',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `route_id` (`route_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=359926760386240514 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='gateway动态路由配置表';

テーブル内のデータの2例

mysql> select * from gateway_dynamic_route;
+--------------------+-----------------------+----------------------------+-------+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+---------------------+----------------+--------------+
| id                 | route_id              | uri                        | order | predicate_json                                                | filter_json                                                                                                                                              | enable | create_time         | update_time         | create_user_id | last_user_id |
+--------------------+-----------------------+----------------------------+-------+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+---------------------+----------------+--------------+
| 355180729269358603 | keda-information-main | lb://KEDA-INFORMATION-MAIN |     1 | [{"args":{"_genkey_0":"/information-main/**"},"name":"Path"}] | [{"args":{"_genkey_0":"1"},"name":"StripPrefix"},{"args":{"retries":"3","series.0":"SERVER_ERROR","methods.0":"GET","methods.1":"POST"},"name":"Retry"}] | 1      | 2019-12-20 17:41:50 | 2019-12-20 17:41:50 |              1 |            1 |
| 357737444216041473 | keda-channel-provider | lb://KEDA-CHANNEL-PROVIDER |     1 | [{"args":{"_genkey_0":"/channel/**"},"name":"Path"}]          | [{"args":{"_genkey_0":"1"},"name":"StripPrefix"},{"args":{"retries":"3","series.0":"SERVER_ERROR","methods.0":"GET","methods.1":"POST"},"name":"Retry"}] | 1      | 2019-12-27 19:01:18 | 2019-12-27 19:01:18 |              1 |            1 |
| 357737444216041500 | keda-app              | lb://KEDA-APP              |     1 | [{"args":{"_genkey_0":"/main/**"},"name":"Path"}]             | [{"args":{"_genkey_0":"1"},"name":"StripPrefix"},{"args":{"retries":"3","series.0":"SERVER_ERROR","methods.0":"GET","methods.1":"POST"},"name":"Retry"}] | 1      | 2019-12-27 19:01:18 | 2019-12-27 19:01:18 |              1 |            1 |
| 359926760386240513 | keda-creditcard       | lb://KEDA-CREDITCARD       |     1 | [{"args":{"_genkey_0":"/card/**"},"name":"Path"}]             | [{"args":{"_genkey_0":"1"},"name":"StripPrefix"},{"args":{"retries":"3","series.0":"SERVER_ERROR","methods.0":"GET","methods.1":"POST"},"name":"Retry"}] | 1      | 2020-01-02 20:00:52 | 2020-01-02 20:06:52 |              1 |            1 |
+--------------------+-----------------------+----------------------------+-------+---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------------------+---------------------+----------------+--------------+
4 rows in set (0.13 sec)

3、新しい動的ルーティングリクエストパラメータ郵便配達

{
	"routeId":"keda-creditcard",
	"uri":"lb://KEDA-CREDITCARD",
	"order":"1",
	"enable":"true",
	"predicates":[ 
		{
	        "name": "Path",
	        "args": {
	            "_genkey_0": "/main/**"
	        }
	    }
    ],
	"filters":[
	    {
            "name": "StripPrefix",
            "args": {
                "_genkey_0": "1"
            }
        },
        {
            "name": "Retry",
            "args": {
                "retries": "3",
                "series.0": "SERVER_ERROR",
                "methods.0": "GET",
                "methods.1": "POST"
            }
        }	
	]
	
}

アップデートルートと新ルートは、リクエストパラメータは同じです。

http://192.168.1.126:20001/gateway-dynamic-route/add

http://192.168.1.126:20001/gateway-dynamic-route/update

ルーティング情報:
http://192.168.1.126:20001/actuator/gateway/routes

 

上記は、ちょうど良いポストを構築するために、ルーティングいくつかの動的な、データのショーを表示します

次に、我々は、動的なルーティング情報を構築するために始めました

 

公開された111元の記事 ウォン称賛28 ビュー40000 +

おすすめ

転載: blog.csdn.net/weixin_42697074/article/details/103820504