[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: AMQP Event Streams draft PR
https://github.com/oasis-tcs/amqp-specs/pull/2
This is the first discussion proposal for the event streams spec. I’m missing capability negotiation, the request/response call to retrieving partition information, and conformance clauses at this time.
I’ve tried to separate out a few concerns that are conflated in some of the event stream engines.
Functionally, Azure Event Hubs’ (and Azure IoT Hub’s) implementation is fairly close to what is described here, but I’ve made a few cleanup changes. For instance, Event Hubs puts the consumer group and partition information into the address
path and I moved that into link properties. I also reinterpreted the SQL filter that Event Hubs uses as a restricted implementation of the AMQP Filter Expressions SQL filter. And while at it, I made the naming consistent and removed old-school prefixes like
“x-opt”. The difference to Apache Kafka’s partition ownership coordination model is that it is completely optional for the broker to be in the loop on consumer balancing because this interface is designed for an AMQP gateway that fronts a broker
cluster. Therefore, clients can coordinate partition ownership completely amongst themselves in this model and assignments can be stable even if the broker rebalances at the back of the gateway. The gateway can also maintain connections and links through backend
broker restarts/rebalances. At the same time, the gateway can also take ownership of partition ownership assignments and run a centralized balancing model. The protocol also supports a connection per partition directly to the brokers. I have yet to fit a mention
of redirection where a client attaches indicating a request to own a particular partition and then being redirected to the owning broker.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]