ไฟล์นี้มีการกำหนดค่าเซิร์ฟเวอร์ Keycloak ตามปกติด้วยการเพิ่มส่วนขยาย WildFly10 High Availability เช่น แคช 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>
ในการทำงานไฟล์ config?