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 |
---|---|
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, updateMember
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
public boolean accept(Serializable msg, Member sender)
ChannelListener
accept
in interface ChannelListener
accept
in class CloudMembershipProvider
msg
- Serializablesender
- MemberCopyright © 2000-2022 Apache Software Foundation. All Rights Reserved.