Hi Everyone, We are optimizing our Apache Pinot d...
# general
s
Hi Everyone, We are optimizing our Apache Pinot deployment in AWS EKS and have a few questions regarding best practices for ensuring Availability Zone (AZ)-local query routing, thereby minimizing cross-AZ costs. Our plan involves tagging Pinot servers according to their respective AZs: - AZ-A Servers: Tagged as
AZ_A_OFFLINE
, grouped within the pool
AZ_A_OFFLINE
- AZ-B Servers: Tagged as
AZ_B_OFFLINE
, grouped within the pool
AZ_B_OFFLINE
These pools will be added to the table configuration, ensuring that communication between servers remains within the same AZ. Broker Query Routing • Currently, Pinot brokers distribute queries in a round-robin fashion, and there appears to be no built-in way to enforce AZ-local routing. Ideally, a broker located in AZ-A should query servers from the
AZ_A_OFFLINE
pool, but we have not found a direct method to control this behavior. Any suggestions or improvements in this approach is appreciated?
m
Yeah, currently brokers don't have an affinity to AZ, but they can also be tagged. Also, note that this won't control if a node is recycled whether it comes back up on the same AZ or not.
s
Even if a broker is tagged with its respective AZ, that does not ensure it will exclusively query servers within the same AZ, correct? For example, if there are three broker replicas—one in each AZ—and we tag them according to their AZ, the broker in AZ-A still wouldn't be restricted to querying only the servers in AZ-A. Is there a way to enforce AZ-local query routing more effectively?
m
Yes, like I said, there is no affinity in broker for an AZ, or replica-group, as of now