public class DNSMembershipProvider extends CloudMembershipProvider
MembershipProvider
that uses DNS to retrieve the members of a cluster.Configuration example for Kubernetes
server.xml
<Server ...
<Service ...
<Engine ...
<Host ...
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.cloud.CloudMembershipService"
membershipProviderClassName="org.apache.catalina.tribes.membership.cloud.DNSMembershipProvider"/>
</Channel>
</Cluster>
...
dns-membership-service.yml
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
description: "The service for tomcat cluster membership."
name: my-tomcat-app-membership
spec:
clusterIP: None
ports:
- name: membership
port: 8888
selector:
app: my-tomcat-app
Environment variable configurationDNS_MEMBERSHIP_SERVICE_NAME=my-tomcat-app-membership
connectionTimeout, CUSTOM_ENV_PREFIX, expirationTime, headers, localIp, md5, port, readTimeout, sm, startTime, streamProvider, url
executor, membership, membershipListener, service
Constructor and Description |
---|
DNSMembershipProvider() |
Modifier and Type | Method and Description |
---|---|
protected Member[] |
fetchMembers()
Fetch current cluster members from the cloud orchestration.
|
void |
start(int level) |
boolean |
stop(int level) |
accept, getEnv, getNamespace, heartbeat, init, messageReceived
getMember, getMembers, hasMembers, setMembershipListener, setMembershipService
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
equals, hashCode
public void start(int level) throws Exception
start
in interface MembershipProvider
start
in class CloudMembershipProvider
Exception
public boolean stop(int level) throws Exception
stop
in interface MembershipProvider
stop
in class CloudMembershipProvider
Exception
protected Member[] fetchMembers()
CloudMembershipProvider
fetchMembers
in class CloudMembershipProvider
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.