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
上記は、ちょうど良いポストを構築するために、ルーティングいくつかの動的な、データのショーを表示します
次に、我々は、動的なルーティング情報を構築するために始めました