Skip to content

docs(inkless): add az-alignment feature documentation#481

Merged
giuseppelillo merged 3 commits intomainfrom
jeqo/docs-az-alignment
Jan 19, 2026
Merged

docs(inkless): add az-alignment feature documentation#481
giuseppelillo merged 3 commits intomainfrom
jeqo/docs-az-alignment

Conversation

@jeqo
Copy link
Copy Markdown
Contributor

@jeqo jeqo commented Jan 16, 2026

Add comprehensive documentation for client rack awareness feature that routes client requests to brokers in the same availability zone, reducing cross-AZ data transfer costs for diskless topics.

  • Document current implementation using client.id pattern with diskless_az=<rack> marker
  • Explain relationship to existing Kafka rack awareness features
  • Cover future KIP-1123 support for standard client.rack config
  • Include configuration guide, monitoring metrics, and troubleshooting
  • Update FAQ with references to new docs

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive documentation for the client rack awareness feature in Inkless, which routes client requests to brokers in the same availability zone to minimize cross-AZ data transfer costs for diskless topics.

Changes:

  • Created new CLIENT-BROKER-AZ-ALIGNMENT.md documentation covering current client.id pattern implementation and future KIP-1123 support
  • Updated FAQ.md to replace detailed rack awareness explanations with references to the new documentation
  • Documented configuration, monitoring, troubleshooting, and migration path

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
docs/inkless/CLIENT-BROKER-AZ-ALIGNMENT.md New comprehensive documentation for client rack awareness feature with configuration examples, deployment diagrams, and migration guidance
docs/inkless/FAQ.md Updated rack awareness Q&A entries to reference new documentation instead of inline explanations

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Add comprehensive documentation for client rack awareness feature
that routes client requests to brokers in the same availability zone,
reducing cross-AZ data transfer costs for diskless topics.

- Document current implementation using `client.id` pattern with
  `diskless_az=<rack>` marker
- Explain relationship to existing Kafka rack awareness features
- Cover future KIP-1123 support for standard `client.rack` config
- Include configuration guide, monitoring metrics, and troubleshooting
- Update FAQ with references to new docs
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jeqo jeqo marked this pull request as ready for review January 16, 2026 14:43
1. **Producers** send produce requests to brokers in their local AZ
2. **Consumers** fetch data from brokers in their local AZ (preferring local cached data)
3. **Brokers** store data in shared object storage accessible from all AZs
4. **Caching** is AZ-local, with each AZ maintaining its own cache
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am I missing something here? Caching is now local to the broker, not AZ-local

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's AZ-local as in entries are cached once per AZ; but yes, we could clarified that is not a distributed cache as before if that is unclear.

Comment on lines +157 to +161
1. Producer sends Produce request with `client.id=my-producer,diskless_az=us-east-1a`
2. Broker extracts AZ: `us-east-1a`
3. Broker compares with its own `broker.rack` configuration
4. If match, broker accepts and processes the request locally
5. If no match, broker can still process but with cross-AZ costs
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this correct to mention? AZ routing does not happen in the broker during produce request handling

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah good point, we should make it clearer that it happens on the metadata request and not on the produce one.

4. If match, broker accepts and processes the request locally
5. If no match, broker can still process but with cross-AZ costs

**Metadata Response Behavior:**
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stylistic note: using bold is visually almost the same as using a heading 4 (at least with the GitHub UI). Example:

Image

So it seems that Metadata Response Behavior is a different paragraph than Producer Flow. Maybe avoiding using the bold helps with the reading clarity.


**Key Points:**
- If no brokers exist in the client's rack, brokers from other racks are used as fallback
- Cache is AZ-local; each rack has its own distributed cache
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also not true anymore

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, will clarify.

│ │ az=us-east-1a │ │ az=us-east-1b │ │ s_az=us │ │
│ │ │ │ │ │ -east-1c│ │
│ │ │ │ │ │ │ │
│ │ Cache (local) │ │ Cache (local) │ │ Cache │ │
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This cache looks AZ local but it's not

@jeqo jeqo requested a review from giuseppelillo January 19, 2026 09:56
@giuseppelillo giuseppelillo merged commit 54e205b into main Jan 19, 2026
4 checks passed
@giuseppelillo giuseppelillo deleted the jeqo/docs-az-alignment branch January 19, 2026 10:03
giuseppelillo pushed a commit that referenced this pull request Jan 27, 2026
* docs(inkless): add az-alignment feature documentation

Add comprehensive documentation for client rack awareness feature
that routes client requests to brokers in the same availability zone,
reducing cross-AZ data transfer costs for diskless topics.

- Document current implementation using `client.id` pattern with
  `diskless_az=<rack>` marker
- Explain relationship to existing Kafka rack awareness features
- Cover future KIP-1123 support for standard `client.rack` config
- Include configuration guide, monitoring metrics, and troubleshooting
- Update FAQ with references to new docs

* fixup! docs(inkless): add az-alignment feature documentation

* fixup! docs(inkless): add az-alignment feature documentation
giuseppelillo pushed a commit that referenced this pull request Jan 27, 2026
* docs(inkless): add az-alignment feature documentation

Add comprehensive documentation for client rack awareness feature
that routes client requests to brokers in the same availability zone,
reducing cross-AZ data transfer costs for diskless topics.

- Document current implementation using `client.id` pattern with
  `diskless_az=<rack>` marker
- Explain relationship to existing Kafka rack awareness features
- Cover future KIP-1123 support for standard `client.rack` config
- Include configuration guide, monitoring metrics, and troubleshooting
- Update FAQ with references to new docs

* fixup! docs(inkless): add az-alignment feature documentation

* fixup! docs(inkless): add az-alignment feature documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants