You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the statuses of push notification dispatches to respective subscribers are aggregated at main request before writing to database once. Aggregation is vulnerable to node failures. It also makes embracing k8s HPA not feasible.
A more reliable logging method is to use MongoDB $push operator to log notification dispatch outcome for each subscription at sub-request level.
Sub-request failure resilient dispatching is only half of node failure resilient dispatching. The other half is handling main request failure. To achieve
Achieving node failure resilience doesn't guarantee notification will be dispatched to every intended subscriber, however. Dispatching can still be rejected by smtp/sms server or the receiving end. Rather, node failure resilience guarantees every subscription candidate will be processed by NotifyBC.
The text was updated successfully, but these errors were encountered:
f-w
changed the title
Use MongoDB $push operator on notification dispatch outcome logging
Use MongoDB $push operator on push notification dispatch logging
Jun 6, 2021
f-w
changed the title
Use MongoDB $push operator on push notification dispatch logging
Reliability - use MongoDB $push operator on push notification dispatch logging
Jun 7, 2021
Currently the statuses of push notification dispatches to respective subscribers are aggregated at main request before writing to database once. Aggregation is vulnerable to node failures. It also makes embracing k8s HPA not feasible.
A more reliable logging method is to use MongoDB $push operator to log notification dispatch outcome for each subscription at sub-request level.
Ref implemention ideas.
This is the first step to achieve sub-request failure resilient dispatching. Next steps are
Sub-request failure resilient dispatching is only half of node failure resilient dispatching. The other half is handling main request failure. To achieve
Achieving node failure resilience doesn't guarantee notification will be dispatched to every intended subscriber, however. Dispatching can still be rejected by smtp/sms server or the receiving end. Rather, node failure resilience guarantees every subscription candidate will be processed by NotifyBC.
The text was updated successfully, but these errors were encountered: