Denovo1998 opened a new pull request, #6:
URL: https://github.com/apache/pulsar-java-contrib/pull/6

   <!-- If the PR belongs to a PIP, please add the PIP link here -->
   
   ### Motivation
   
   <!-- Explain here the context, and why you're making that change. What is 
the problem you're trying to solve. -->
   As we known,Pulsar's current **asynchronous** publish-subscribe model serves 
well for decoupled message distribution, but it lacks a native mechanism for 
handling **synchronous** interactions typical of Remote Procedure Calls (RPC).
   
   This request-reply model can greatly enhance the utility of Pulsar. We can 
then use Pulsar as RPC.
   
   Why would we use Pulsar for this RPC call?
   
   - This proposal to achieve the function is `request`. `Request` and existing 
send function of pulsar can be mixed to same topic. This means that the user 
can choose, and the call to the server side (consumer) can be asynchronous or 
synchronous, which is controlled by the user flexibly.
   - You can directly use Pulsar's own delaying messages, that is, you can 
execute RPC regularly.
   - You can directly use Pulsar's own load balancing mechanism.
   - You can directly use Pulsar's own message consumption throttling mechanism.
   - You can directly use Pulsar's own expansion and contraction mechanism.
   - You can directly use Pulsar's own message call tracking, monitoring, and 
logging mechanisms.
   
   ### Modifications
   
![RPC.drawio](https://github.com/user-attachments/assets/fbcb3805-7be5-4024-a912-17fae201a253)
   
   
   <!-- Describe the modifications you've done. -->
   
   
   ### Verifying this change
   
   - [x] Make sure that the change passes the CI checks.
   
   *(Please pick either of the following options)*
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   *(or)*
   
   This change is already covered by existing tests, such as *(please describe 
tests)*.
   
   *(or)*
   
   This change added tests and can be verified as follows:
   
   *(example:)*
   - *Added integration tests for end-to-end deployment with large payloads 
(10MB)*
   - *Extended integration test for recovery after broker failure*


-- 
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