teabot opened a new issue, #17260:
URL: https://github.com/apache/pulsar/issues/17260

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/pulsar/issues) 
and found nothing similar.
   
   
   ### What issue do you find in Pulsar docs?
   
   Pulsar, like many other distributed systems, is able to achieve scalability 
by off-loading some responsibilities to clients. This means that many features 
will include some client component, often non-trivial. For example, in the case 
of delayed delivery, or DLQs, it is the client's responsibility for handing off 
messages to the appropriate topic.
   
   This results in complex client behaviours. Each time a new client is 
implemented, these behaviours must be implemented faithfully, to ensure a 
consistent feature experience in the Pulsar ecosystem irrespective of client 
language. However, no single resource exists that describes these client 
responsibilities in an accessible manner and so client implementation, or even 
understanding features, requires delving through the Java client code. This 
problem is compounded by [incomplete protocol documentation](#17258).
   
   ### What is your suggestion?
   
   We should write a **client specification** document that is a companion to 
the [binary protocol 
specification](https://pulsar.apache.org/docs/next/developing-binary-protocol/).
 This should capture any non-trivial client-side behaviours that form a 
component of a Pulsar feature.
   
   ### Any reference?
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [X] I'm willing to submit a PR!


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