nats-architecture-and-design
nats-architecture-and-design copied to clipboard
Architecture and Design Docs
## Overview Support for MaxBytes for pull requests including changes to Consumer Configuration and JSApiConsumerGetNextRequest See [Server PR 3126](https://github.com/nats-io/nats-server/pull/3126) The Consumer Configuration now includes `max_expires` and `max_bytes` ``` MaxRequestExpires time.Duration...
## Overview In August '21, `consumer_info.delivered` and `consumer_info.ack_floor` were changed from `sequence_pair` to `sequence_info` The difference in these objects is that the `sequence_info` has `last_active` where the `sequence_pair` does not....
## Overview When publishing to a stream with subject `x.*` one can now express a constraint using the header `Nats-Expected-Last-Subject-Sequence` stating that the message going into subject `x.y` should only...
## Overview Consumer heartbeats can help clients to detect when an ephemeral consumer have been lost due to network interruption or if messages were lost. The behavior is documented in...
## Overview The following consumer options can now be set on a consumer (applying only to pull consumers): - `max_batch` (number) - `max_expires` (number - duration - nanos) For ephemeral...
## Overview Prefer NATS error codes when conditionally handling JetStream API errors and expose the code to users. The basic idea is that in the past we would return errors...
## Overview Consumers now have a list of go nanos that sets a retry schedule and the Nak has an optional struct that can set a per message arbitrary delay....
## Overview Implement a JetStream based Key-Value store The behavior is documented in ADR-8 ## Clients and Tools - [x] CLI @ripienaar - [x] Terraform @ripienaar - [x] Go @derekcollison...
## Overview The discard policy should be set to "new", but really for server 2.7.2+ since only this server handles discard policy "new" correctly for KV use-case, that is with...
## Overview For libraries that provide the maintenance function PurgeDeletes(), this should be enhanced to follow this algorithm: - Create a "watcher all" (subject is ">") - Iterate through entries,...