nats-architecture-and-design icon indicating copy to clipboard operation
nats-architecture-and-design copied to clipboard

Architecture and Design Docs

Results 104 nats-architecture-and-design issues
Sort by recently updated
recently updated
newest added

## Overview Client should have a way that allows users to force reconnection process. This can be useful for refreshing auth or rebalancing clients. When triggered, client will drop connection...

enhancement
client

## Overview KV watch supports only single filter, which has limitations similar to those of single filter consumers. Clients should support `kv::watch` watching multiple filters, leveraging consumers with multiple filters....

enhancement
client

### Paraphrase The question here is two-fold. 1. Could (should) the KV api be expanded to allow putting headers as well the value with a key. 2. Is it safe...

documentation
enhancement

## Overview Since nats-server 2.10, Consumer Create API (`$JS.API.CONSUMER.CREATE` & $JS.API.CONSUMER.DURABLE.CREATE`) support `action` field. This allows for clients to specify the intent when calling `CREATE`, which in turn allows for...

enhancement
client

Referring to this PR https://github.com/nats-io/nats.go/pull/1584 this includes an add() method to add a header key and value. This would facilitate extra context since the service doesn't have direct access to...

## Overview Because of the way the server stacks values during republishes, the last value for each header field is the correct value for direct messages ``` Nats-Subject Nats-Sequence Nats-Last-Sequence...

enhancement
client

## Overview In 2.11 consumers can be paused using the API and optionally started paused. Clients should at the very least support the added fields to config and state for...

enhancement
client
server:2.11

Consistently hashed partitioned consumer groups (including exclusive client consumption from a durable consumer) for streams.

### Motivation NATS clients provide the KeyValue interface with methods for optimistic atomic updates. (Eg: In Java, [KeyValue.update(key, value, expectedRevision)](https://github.com/nats-io/nats.java/blob/main/src/main/java/io/nats/client/KeyValue.java#L117)) There doesn’t appear to be a way to specify an...