Tệp này chứa cấu hình máy chủ Keycloak thông thường với việc bổ sung các tiện ích mở rộng Tính khả dụng cao của WildFly10 như bộ đệm Infinispan HA và các kênh liên lạc JGroups HA cũng như cài đặt cấu hình của chúng.
<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>
Nguồn: https://github.com/devopsutils/keycloak-cluster-aws-rds/blob/master/ecr/resources/standalone-ha.xml
Tôi đang cố gắng tìm hiểu khái niệm này. Chúng tôi đang cố triển khai cụm Keycloak trong AWS ECS.
Tôi không biết tại sao ngăn xếp UDP được đề cập trong tệp cấu hình, vì AWS không hỗ trợ UDP.
Phần với TCP có ý nghĩa khi chúng tôi thêm vào JDBC_PING
như một giao thức. Tôi không thấy tại sao UDP được đề cập? Làm thế nào để <stacks>
trong tệp cấu hình có hoạt động không?