What is the Discovery Process?
The discovery process has a Sender and Receiver process. Each
WebSphere Application Server process can act as either Sender or Receiver
based on who is initially discovered.
- Sender:
- Listen on discovery port
- Send Discovery Query Message to peer's discovery port:
- Retry interval: 1, 2, 4, 8 minutes, and so on.
- Sometime later, peer sends back Discovery Response
Message to sender's discovery port
- Process Discovery Response Message
- Update routing table
- Start process monitoring
- Receiver:
- Listen on discovery port
- Process Discovery Query Message
- Update routing table
- Start process monitoring
- Send Discovery Response Message to sender's discovery
port
Registered as RoutingListener to report discovery of parent or
children in the SystemOut.log file:
[6/28/04 11:58:54:903 EDT]
b875025 DiscoveryMBea I ADMD0023I: Process discovered (name: dmgr,
type: DeploymentManager, pid: 4344) |
|
Note: If server enables Standalone under
Administration Services, this disables discovery. |
|
What are the Discovery Protocols?
- TCP (recommend)
- UDP
- Multicast (Only Application Server)
What notifications are emitted?
- Child discovered:
TYPE_DISCOVERY_PROCESS_FOUND
- Child lost: TYPE_DISCOVERY_PROCESS_LOST
- Parent discovered:
TYPE_DISCOVERY_AGENT_FOUND
- No notification for parent lost
Discovery Ports:
- Cell Discovery Address:
- Used by dmgr to discover NodeAgent.
- Defined in the serverindex.xml file of the
dmgr.
For example:
<specialEndpoints
xmi:id="NamedEndPoint_1"endPointName="CELL_DISCOVERY_ADDRESS">
<endPoint xmi:id="EndPoint_1" host="websphere.ibm.com" port="7277"/>
</specialEndpoints> |
|
- Node Discovery Address:
- Used by NodeAgent to discover dmgr.
- Defined in the serverindex.xml file of the
node.
For example:
<specialEndpoints
xmi:id="NamedEndPoint_1089504933396"
endPointName="NODE_DISCOVERY_ADDRESS">
<endPoint xmi:id="EndPoint_1089504933407" host="websphere.ibm.com"
port="7272"/>
</specialEndpoints> |
|
- Node Multicast Discovery Address:
- Used by application servers and NodeAgent to discover
each other.
- Type D address
- Information can be found on page 221 of the V5.1
System Management and Configuration redbook.
- Multicast host addresses must be within a special range
(224.0.0.0 to 239.255.255.255) defined by the IP standards and must never
be a host name value. The default for WebSphere node agents is
232.133.104.73.
- Defined in node's serverindex.xml file:
For example:
<specialEndpoints
xmi:id="NamedEndPoint_1107918362368"
endPointName="NODE_MULTICAST_DISCOVERY_ADDRESS">
<endPoint xmi:id="EndPoint_1107918362369" host="232.133.104.73"
port="5000"/>
</specialEndpoints> |
|
Message Breakdown:
There are two major messages passed between the Sender and Receiver:
- Discovery Query Message
- Discovery Response Message
Each message is broken down into multiple information components and is
represented in memory as ServerInfo and on the wire as XML.
The following list shows the message breakdown:
- Discovery Query Message:
- Query id
- Peer Advertisements
- Target cell, node, role
- Discovery Response Message:
- Query id
- Peer advertisement
- Target cell, node, role
- Peer advertisement:
- Services:
- Information about connectors to access AdminService: RMI,
SOAP
- EndPoints:
- Location of discovery port
- query id:
- Sequence number used by sender to keep track of messages
- role:
- Whether it is a cell manager, NodeAgent, or managed
process
|