trustgraph/trustgraph-base
cybermaggedon 3505bfdd25
refactor: use one fanout exchange per topic instead of shared topic exchange (#827)
The RabbitMQ backend used a single topic exchange per topicspace
with routing keys to differentiate logical topics. This meant the
flow service had to manually create named queues for every
processor-topic pair, including producer-side topics — creating
phantom queues that accumulated unread message copies indefinitely.

Replace with one fanout exchange per logical topic. Consumers now
declare and bind their own queues on connect. The flow service
manages topic lifecycle (create/delete exchanges) rather than queue
lifecycle, and only collects unique topic identifiers instead of
per-processor (topic, subscription) pairs.

Backend API: create_queue/delete_queue/ensure_queue replaced with
create_topic/delete_topic/ensure_topic (subscription parameter
removed).
2026-04-17 18:01:35 +01:00
..
trustgraph refactor: use one fanout exchange per topic instead of shared topic exchange (#827) 2026-04-17 18:01:35 +01:00
pyproject.toml Add missing PyYAML package (#811) 2026-04-15 15:37:46 +01:00
README.md Maint/fix build env (#84) 2024-09-30 19:47:09 +01:00