merlimat commented on issue #614:
URL: 
https://github.com/apache/pulsar-client-go/issues/614#issuecomment-916323538


   @tech4gk A single `Connection` object (and its underlying TCP socket) can be 
shared across multiple producers and consumers.
   
   When a producer/consumer gets closed, that won't affect the status of the 
`Connection`. Rather, when the connection gets closed (eg: in reaction of the 
underlying TCP socket being closed), it's correct to get it out of the pool, 
because at that point it cannot be reused anymore.
   
   > a. Create the client once when the client app initialize, with the 
MaxConnectionsPerBroker setting to a preferred configuration
   
   Yes, the application is expected to create a single Client instance 
throughout its lifecycle
   
   > b. Create the producer or consumer once when the client app initializes
   
   There are many different approaches there. For example you could create a 
producer at the first time you're going to use it. After that, the producer 
instance is designed to be "long-lived", and be used to published many messages.
   
   >  Call the close method on producer when the client app shuts down
   
   Yes, or when the producer is not going to be needed anymore
   
   > Call the close method on Client when the client app shuts down
   
   Yes


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