Skip to content

Allow processing requests when the transport is down #400

@SzymonPobiega

Description

@SzymonPobiega

Describe the suggested improvement

Is your improvement related to a problem? Please describe.

When the transport is not available the Transactional Session mechanism can't sent the control message to ensure dispatching the outbox. This means that the incoming request is rejected due to an exception.

Describe the suggested solution

A solution might be to designate a space (table/collection?) in the outbox database to store the equivalents of control messages. When the transport is down, that space would be used, instead of the transport, to ensure outbox messages are going to be dispatched.

Describe alternatives you've considered

  • One alternative is to use polling to dispatch the outbox messages but this would not work in a partitioned database and is very difficult to tune in a scaled-out environment.
  • Another alternative, if the store is SQL or PostgreSQL database, is to use DB-based transport on the frontend and Bridge to move messages to the backend transport.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    ImprovementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions