Skip to content
  • Deimos's avatar
    Replace RabbitMQ uses with Redis streams · bcb5a3e0
    Deimos authored
    RabbitMQ was used to support asynchronous/background processing tasks,
    such as determining word count for text topics and scraping the
    destinations or relevant APIs for link topics. This commit replaces
    RabbitMQ's role (as the message broker) with Redis streams.
    
    This included building a new "PostgreSQL to Redis bridge" that takes
    over the previous role of pg-amqp-bridge: listening for NOTIFY messages
    on a particular PostgreSQL channel and translating them to messages in
    appropriate Redis streams.
    
    One particular change of note is that the names of message "sources"
    were adjusted a little and standardized. For example, the routing key
    for a message caused by a new comment was previously "comment.created",
    but is now "comments.insert". Similarly, "comment.edited" became
    "comments.update.markdown". The new naming scheme uses the table name,
    proper name for the SQL operation, and column name instead of the
    previous unpredictable terms.
    bcb5a3e0