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, urlexecutor, membership, membershipListener, service| Constructor and Description |
|---|
DNSMembershipProvider() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(Serializable msg,
Member sender)
Invoked by the channel to determine if the listener will process this message or not.
|
protected Member[] |
fetchMembers()
Fetch current cluster members from the cloud orchestration.
|
void |
start(int level) |
boolean |
stop(int level) |
getEnv, getNamespace, heartbeat, init, messageReceived, updateMembergetMember, getMembers, hasMembers, setMembershipListener, setMembershipServiceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitequals, hashCodepublic void start(int level)
throws Exception
start in interface MembershipProviderstart in class CloudMembershipProviderExceptionpublic boolean stop(int level)
throws Exception
stop in interface MembershipProviderstop in class CloudMembershipProviderExceptionprotected Member[] fetchMembers()
CloudMembershipProviderfetchMembers in class CloudMembershipProviderpublic boolean accept(Serializable msg, Member sender)
ChannelListeneraccept in interface ChannelListeneraccept in class CloudMembershipProvidermsg - Serializablesender - MemberCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.