zilla icon indicating copy to clipboard operation
zilla copied to clipboard

`amqp-kafka` feature

Open jfallows opened this issue 1 year ago • 0 comments

AMQP 1.0 specification

  • binding-amqphandles network protocol
    • [ ] encoding and decoding amqp protocol frames
    • [ ] lifecycle of sender and receiver application level streams
    • [ ] flow control of multiple receiver application streams on the same network stream
    • [ ] security guard integration via SASL frames, expiration and challenge-response via internal link name
  • binding-amqp-kafka handles the mapping
    • [ ] link stealing, same client container
    • [ ] attempt to align delivery state with kafka topic progress
      • limited to 32 octets, use server side state to dereference larger states as needed
      • session state storage abstraction
        • log-compacted kafka topic, queryable by clientId message key, configurable name
        • subscription state as log-compacted topic, queryable by clientId message key, configurable name
        • support out-of-band attach or detach for client
        • ideally state storage abstract can support different implementations; memory, hazelcast, redis, ...
    • [ ] sender settle mode settled as produce, acks none
    • [ ] sender settle mode unsettled as produce, acks in_sync_replicas
    • [ ] sender capability amqp:local-transactions as produce, acks in_sync_replicas and transactional producerId
    • [ ] receiver settle mode unsettled as stateful fetch with consumer id for message delivery retry
    • [ ] queue receivers use tiered consumer group members
      • system consumer group member reads messages from topic partition
      • system consumer group members redistributed across zilla instances
      • virtual consumer group members read messages with same key to support consistent ordering per key
      • virtual consumer group members redistributed within same zilla instance
      • detach system consumer group member instance when no remaining virtual members to avoid delivery starvation
    • [ ] message filters
    • [ ] support load balancer bypass via server redirection

jfallows avatar May 30 '23 21:05 jfallows