JBoss: Как работает <stacks> в файле Standalone-ha.xml?
Этот файл содержит обычную конфигурацию сервера Keycloak с добавлением расширений высокой доступности WildFly10, таких как кэш Infinispan HA и каналы связи JGroups HA, а также их настройки конфигурации.
<stacks>
<stack name="udp">
<transport type="UDP" socket-binding="jgroups-udp"/>
<protocol type="PING"/>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK"/>
<protocol type="FD_ALL"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK2"/>
<protocol type="UNICAST3"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="UFC"/>
<protocol type="MFC"/>
<protocol type="FRAG3"/>
</stack>
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp"/>
<protocol type="JDBC_PING">
<property name="datasource_jndi_name">java:jboss/datasources/KeycloakDS</property>
<property name="initialize_sql">
CREATE TABLE IF NOT EXISTS jgroupsping (
own_addr VARCHAR(200) NOT NULL,
cluster_name VARCHAR(200) NOT NULL,
ping_data BYTEA DEFAULT NULL,
PRIMARY KEY (own_addr, cluster_name)
)
</property>
</protocol>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK"/>
<protocol type="FD_ALL"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK2"/>
<protocol type="UNICAST3"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="MFC"/>
<protocol type="FRAG3"/>
</stack>
</stacks>
Источник: https://github.com/devopsutils/keycloak-cluster-aws-rds/blob/master/ecr/resources/standalone-ha.xml
Я пытаюсь изучить эту концепцию. Мы пытаемся развернуть кластер Keycloak в AWS ECS.
Я не знаю, почему в файле конфигурации упоминается стек UDP, поскольку AWS не поддерживает UDP.
Часть с TCP имеет смысл там, где мы добавилиJDBC_PING
как протокол. Я не понимаю, почему упоминается UDP? Как<stacks>
в конфиге работает?