mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
cluster/zeromq: Implement DoReadyToPublishCallback()
The ZeroMQ heuristic for "ready to publish" is to create an unique and ephemeral subscription using the XSUB socket and observe it arrive on the XPUB socket. At this point, visibility into other node's subscriptions is provided.
This commit is contained in:
parent
e7a876da35
commit
643b926625
3 changed files with 47 additions and 0 deletions
|
@ -218,6 +218,18 @@ export {
|
|||
## subscriptions and hello messages from other
|
||||
## nodes. These expirations trigger reporter warnings.
|
||||
const hello_expiration: interval = 10sec &redef;
|
||||
|
||||
## The topic prefix used for internal ZeroMQ specific communication.
|
||||
##
|
||||
## This is used for the "ready to publish callback" topics.
|
||||
##
|
||||
## Zeek creates a short-lived subscription for a auto-generated
|
||||
## topic name with this prefix and waits for it to be confirmed
|
||||
## on its XPUB socket. Once this happens, the XPUB socket should've
|
||||
## also received all other active subscriptions of other nodes in a
|
||||
## cluster from the central XPUB/XSUB proxy and therefore can be
|
||||
## deemed ready for publish operations.
|
||||
const internal_topic_prefix = "zeek.zeromq.internal." &redef;
|
||||
}
|
||||
|
||||
redef Cluster::backend = Cluster::CLUSTER_BACKEND_ZEROMQ;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue