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
I'm hoping to do some significant messaging work in Q2 and this is a list of various features that exist in other queueing systems that would be great if they were supported in Vitess.
Use vreplication for topics - the current implementation of topics is brittle and only supports same-tablet subscribers
Explicit topic support was removed in schema: simpler and faster schema load #5951. For now this can be done easily with vreplication on a single topic table. If there becomes a need for explicit topic support in Vitess, we can revisit in the future
Explicit nacks - today the only way for a message to be redelivered is to wait for the message timeout. By allowing for nacks on failure, you can avoid unnecessary delays.
As discussed on Slack, this can be done today with UPDATE time_next = NOW()
Support message state field - Possibly related to the prior item, this would enable new states like "failed". Today, this can be modeled by setting time_next to a very large number.
Also discussed on Slack and deemed to be unnecessary
The text was updated successfully, but these errors were encountered:
I'm hoping to do some significant messaging work in Q2 and this is a list of various features that exist in other queueing systems that would be great if they were supported in Vitess.
INSERT INTO msg_table SELECT col1, col2...
(added in messaging: simplified -> Breaking Change #5948)https://github.com/bgadrian/data-structures/tree/master/priorityqueue
https://www.rabbitmq.com/priority.html
To be implemented with
stream col1, col2 from msg_table
instead of onlystream * from msg_table
Use vreplication for topics - the current implementation of topics is brittle and only supports same-tablet subscribersExplicit topic support was removed in schema: simpler and faster schema load #5951. For now this can be done easily with vreplication on a single topic table. If there becomes a need for explicit topic support in Vitess, we can revisit in the future
Support message lease extension - related to messaging: duplicate message delivery #5796, this lets smart clients extend the deadline for messages they have received and intend to processhttps://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/modifyAckDeadline
As discussed on Slack, this can be done today with
UPDATE time_next = NOW()
Explicit nacks - today the only way for a message to be redelivered is to wait for the message timeout. By allowing for nacks on failure, you can avoid unnecessary delays.As discussed on Slack, this can be done today with
UPDATE time_next = NOW()
Support message state field - Possibly related to the prior item, this would enable new states like "failed". Today, this can be modeled by settingtime_next
to a very large number.Also discussed on Slack and deemed to be unnecessary
The text was updated successfully, but these errors were encountered: