You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/dev/adr/0020-large-message-chunking.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,9 @@ The chunking mechanism will:
28
28
- When all chunks for a message ID are received, they are reassembled in order and message checksum verified.
29
29
- The reconstructed message is then processed as a single message by the application callback.
30
30
31
+
**Note:**
32
+
Chunk size is a three party agreement: *publisher-broker-subscriber*. Publisher can set the chunk size, but it is capped by the subscriber's or broker's maximum packet size which ever is smaller.
33
+
31
34
## Consequences
32
35
33
36
### Benefits
@@ -41,14 +44,12 @@ The chunking mechanism will:
41
44
- Chunk timeout mechanisms
42
45
- Error propagation to application code
43
46
-**Performance Optimization:**
44
-
- Dynamic chunk sizing based on broker limitations
45
47
- Concurrent chunk transmission
46
48
- Efficient memory usage during reassembly
47
49
-**Security:**
48
50
- Validate message integrity across chunks
49
51
- Prevent chunk injection attacks
50
52
51
53
## Open Questions
52
-
1. How do we determine the optimal chunk size? Should it be based on the broker's max size, network conditions, or configurable by the application?
53
-
2. Do we create a new API method (`PublishLargeAsync()`) or use the existing `PublishAsync()` API with transparent chunking for oversized payloads?
54
-
3. Chunking and shared subscriptions: How do we handle chunked messages across multiple subscribers?
54
+
1. Do we create a new API method (`PublishLargeAsync()`) or use the existing `PublishAsync()` API with transparent chunking for oversized payloads?
55
+
2. Chunking and shared subscriptions: How do we handle chunked messages across multiple subscribers?
0 commit comments