poorbarcode opened a new pull request, #23129:
URL: https://github.com/apache/pulsar/pull/23129

   ### Motivation
   
   **Background**
   So far, there are two implementations of `ServiceUrlProvider`
   - `ControlledClusterFailover`: call an HTTP API to change the pulsar service 
URL.
   - `AutoClusterFailover`: check the pulsar service URL by creating a socket, 
and automatically switch to the high-priority pulsar service URL.
   
   **Issue**
   - We build two clusters `c1` and `c2`, and start a binary-way replication 
between them. 
   - Enabled `AutoClusterFailover` for our client to switch connections to the 
healthy cluster when the primary one can not work.
   - The network traffic is:`client -> proxy -> brokers`
   
   If all the brokers crash, the proxies are still healthy, 
`AutoClusterFailover` can not determine that the primary cluster can not 
provide service anymore.
   
   ### Modifications
   
   Add a new ServiceUrlProvider implementation: 
`SameAuthParamsAutoClusterFailover`, which uses `lookup topic` to check whether 
the target cluster is healthy or not. Since the clusters that enabled 
Geo-Replication always have the same auth settings, it can be easy to 
implement(skipping the different auth settings ).
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [x] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   
   ### Matching PR in forked repository
   
   PR in forked repository: x
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to