To guarantee messages are received by the service in the same order that the application gives them to a publisher, the client library needs to wait until a batch of messages is successfully delivered before sending the next batch, otherwise batches may arrive out of order as there is no guarantee the same channel or network path is used for each batch.
For applications that do not care about message ordering, this can limit the throughput. Therefore, the behavior is disabled by default.
See Also
the documentation for the Publisher class for details.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-21 UTC."],[[["This page details the `MessageOrderingOption` for the Google Cloud Pub/Sub C++ client library, focusing on ensuring message order."],["The most recent version documented is 2.37.0-rc, with a comprehensive list of versions dating back to 2.11.0 available for review."],["Message ordering in the publisher is disabled by default, to avoid limiting throughput in applications where message order is not a major concern."],["The `MessageOrderingOption` is an alias of `bool` and will require a boolean to control the ordering of messages."],["Applications needing ordered messages will experience a decrease in throughput due to the library needing to ensure messages are sent in the correct order, guaranteeing each batch is successful before sending the next."]]],[]]