Git Product home page Git Product logo

Comments (4)

Kazmirchuk avatar Kazmirchuk commented on August 25, 2024

An explanation of robust error handling to handle all possible network failures and race conditions would be immensely useful too, I think.

from nats.c.

kozlovic avatar kozlovic commented on August 25, 2024

@Kazmirchuk I added a FAQ section in the README, hope this helps a bit with some of your questions.

Specifically regarding some of your questions here:

If you have natsOptions_UseOldRequestStyle, what is the new request style then?

There is no API to trigger the new style, it is now the default. The new style improves performance by reducing the number of subscriptions created when doing requests/replies. A single inbox subscription is created per connection and replies are then matched to the appropriate request.

What does this comment means in one of your examples?
// For maximum performance, set no limit on the number of pending messages.
s = natsSubscription_SetPendingLimits(sub, -1, -1);
How do the limits affect performance?

When the publisher publishes as fast as it can, the subscription may fall behind since it is always slower to process a subscribed message than send a message. In order for the example/benchmark to not lose messages and ensure that the subscription will process all sent messages, I set the subscription's queue limits to "unlimited".

In Msgs: 30 - In Bytes: 150 - Delivered: -3689348814741910324 - Pending: 0 - Dropped: 0 - Reconnected: 0
I think, the number of delivered messages got wrong somehow?

I can reproduce this on Windows, I will have a look and create separate issue. Thanks!

from nats.c.

Kazmirchuk avatar Kazmirchuk commented on August 25, 2024

Wow that was quick! Good to know that the negative counter was not a bug in cnats itself.
Thank you so much for the FAQ. It hasn't appeared yet at the main page https://github.com/nats-io/cnats (I guess it needs some time), but I can already read it in the git commit - it is very useful and much more than I could ever expect. Kudos!

from nats.c.

kozlovic avatar kozlovic commented on August 25, 2024

@Kazmirchuk Thanks! I was waiting to get some feedback from you, which apparently is pretty good ;-). I have merged the PR so the FAQ section should now be present in the repo's README at this location.

from nats.c.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.