> Connective Technology for Adaptive Edge & Distributed Systems
> An Introduction to NATS - The first screencast
I guess I don't need to know what it is
> NATS is an open-source messaging system. At its core, NATS provides publish-subscribe messaging, but has expanded to enable other features. It has a request/reply mechanism which you can use for service-to-service communication (in lieu of HTTP APIs). And it now includes a persistence layer which means it can on workloads you'd normally turn to Kafka for. The project is supported by the CNCF.
Not how I would do it.
I would assume that NATS can be deployed in some Kubernetes cluster, so it would not be uncommon to have 3 or 5 workers. In this case, what would happen, if someone wanted guaranteed ordering and used that deterministic subject token partitioning?
Let's assume that some worker would crash due to lack of storage space and it would keep restarting, so what happens to messages on this partition? Can they be processed, if specific worker is not available? Is it possible to react to this event and manually reassign these partitions to other workers? In case that there's no event, then maybe it's possible to write some script and run CronJob to manually check, if rebalance is needed?
[0] https://docs.nats.io/nats-concepts/jetstream/streams#republi...