nats-io / nats-architecture-and-design

Architecture and Design Docs
Apache License 2.0
177 stars 20 forks source link

[new] ADR-40 Request Many #228

Open scottf opened 10 months ago

scottf commented 10 months ago

Request Many ADR based on @aricart's implementation and discussion in https://github.com/nats-io/nats-architecture-and-design/issues/215

aricart commented 10 months ago

For reference:

https://github.com/nats-io/nats.deno/blob/4e53de6b869c932412e4856a60898dc9f86814b5/nats-base-client/nats.ts#L164

While we are visiting this, it may be useful to have an option/utility to split a large message into multiple messages that fit into the max payload of the client, and implements the sentinel message protocol. This seems to be an often use-case. Here's an example of a service splitting a large payload into manageable chunks - this was in response to someone trying to send 50mb payloads

https://github.com/nats-io/nats.deno/blob/4e53de6b869c932412e4856a60898dc9f86814b5/examples/services/03_bigdata.ts

And the client side: https://github.com/nats-io/nats.deno/blob/4e53de6b869c932412e4856a60898dc9f86814b5/examples/services/03_bigdata-client.ts

Jarema commented 8 months ago

@aricart @piotrpio @scottf I think it is good as it is, however there are some unresolved conversations.

Please state your opinions so we can move this forward.

Jarema commented 6 months ago

Considering new, more holistic approach to specs, should we make this a general spec about requst/reply pattern?