7.8.5 Визуализация правил маршрутизации
Правило маршрутизации, связанное с кластером
Для получения всех правил маршрутизации, связанных с кластером, используйте следующее:
cluster.routing_guidelines()
Например, кластер имеет два правила маршрутизации, default и rg1:
+-----------+--------+--------+-------------------------------+
| guideline | active | routes | destinations |
+-----------+--------+--------+-------------------------------+
| default | 0 | rw,ro | Primary,Secondary,ReadReplica |
| rg1 | 0 | rw,ro | Primary,Secondary,ReadReplica |
+-----------+--------+--------+-------------------------------+
Для получения конкретного правила маршрутизации, связанного с кластером, используйте следующее:
cluster.get_routing_guideline("name")
Если имя не указано, извлекается активное правило маршрутизации.
Показать подробную информацию
Для просмотра подробного резюме правила маршрутизации используйте следующее:
rg.show()
возвращает следующее:rg.show()
Имя правила маршрутизации и связанную топологию.
-
Маршруты, включая выражение соответствия и разрешенные назначения топологии. Если опция
"router", "определена, используется тот маршрутизатор для оценки правила.routeIdentifier"Если ни одно назначение не соответствует, возвращается
None. Все классы назначений, определенные правилом маршрутизации, включая выражение соответствия и члены топологии, которые соответствуют выражению.
Unreferenced serversперечисляет члены топологии, не упоминаемые в маршруте или классе назначения.
Например:
Py > rg.show()
Routing Guideline: 'default'
Cluster: 'mycluster'
Routes
------
- rw
+ Match: "$.session.targetPort = $.router.port.rw"
+ Destinations:
* 127.0.0.1:4000 (Primary)
- ro
+ Match: "$.session.targetPort = $.router.port.ro"
+ Destinations:
* 127.0.0.1:4001, 127.0.0.1:4002 (Secondary)
* 127.0.0.1:4000 (Primary)
Destination Classes
-------------------
- Primary:
+ Match: "$.server.memberRole = PRIMARY"
+ Instances:
* 127.0.0.1:4000
- Secondary:
+ Match: "$.server.memberRole = SECONDARY"
+ Instances:
* 127.0.0.1:4001
* 127.0.0.1:4002
- ReadReplica:
+ Match: "$.server.memberRole = READ_REPLICA"
+ Instances:
* None
Unreferenced servers
--------------------
- None
Визуализировать как JSON
Для просмотра правила маршрутизации в виде JSON-документа используйте следующее:
rg.as_json()Например:
Py > rg.as_json()
{
"destinations": [
{
"match": "$.server.memberRole = PRIMARY",
"name": "Primary"
},
{
"match": "$.server.memberRole = SECONDARY",
"name": "Secondary"
},
{
"match": "$.server.memberRole = READ_REPLICA",
"name": "ReadReplica"
}
],
"name": "default",
"routes": [
{
"connectionSharingAllowed": true,
"destinations": [
{
"classes": [
"Primary"
],
"priority": 0,
"strategy": "round-robin"
}
],
"enabled": true,
"match": "$.session.targetPort = $.router.port.rw",
"name": "rw"
},
{
"connectionSharingAllowed": true,
"destinations": [
{
"classes": [
"Secondary"
],
"priority": 0,
"strategy": "round-robin"
},
{
"classes": [
"Primary"
],
"priority": 1,
"strategy": "round-robin"
}
],
"enabled": true,
"match": "$.session.targetPort = $.router.port.ro",
"name": "ro"
}
],
"version": "1.0"
}
Назначения
Для просмотра назначений, определенных в правиле маршрутизации, используйте следующее:
rg.destinations()Например:
Py > rg.destinations()
+-------------+------------------------------------+
| destination | match |
+-------------+------------------------------------+
| Primary | $.server.memberRole = PRIMARY |
| Secondary | $.server.memberRole = SECONDARY |
| ReadReplica | $.server.memberRole = READ_REPLICA |
+-------------+------------------------------------+
Маршруты
Для просмотра назначений, определенных в правиле маршрутизации, используйте следующее:
rg.routes()Например:
rg.routes()
+------+---------+-----------+-----------------------------------------+----------------------------------------------+-------+
| name | enabled | shareable | match | destinations | order |
+------+---------+-----------+-----------------------------------------+----------------------------------------------+-------+
| rw | 1 | 1 | $.session.targetPort = $.router.port.rw | round-robin(Primary) | 0 |
| ro | 1 | 1 | $.session.targetPort = $.router.port.ro | round-robin(Secondary), round-robin(Primary) | 1 |
+------+---------+-----------+-----------------------------------------+----------------------------------------------+-------+
Возвращаемая таблица содержит следующие столбцы:
name: имя маршрута.enabled: (булево) включён ли маршрут.shareable: (булево) можно ли использовать соединение совместно.match: правило соответствия для клиентского соединения.destinations: список назначений через запятую, отсортированный по приоритету.order: позиция маршрута в правиле маршрутизации.
© 2025 Oracle
Licensed under the GPLv2 License.