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-04-17 UTC."],[[["This page lists documentation for different versions of the `MessageOrderingOption` in the Google Cloud Pub/Sub C++ client library, ranging from version 2.11.0 to the latest release candidate 2.37.0-rc."],["The `MessageOrderingOption` controls whether the client library ensures that messages are delivered in the order they were sent to the `Publisher`, which is disabled by default to maximize throughput."],["Enabling message ordering guarantees that messages are received in the same order they were sent, but it can reduce overall throughput because the library must wait for each batch of messages to be successfully delivered."],["The `MessageOrderingOption` is a boolean type alias, which can be either enabled or disabled."],["Detailed information about message ordering can be found in the documentation for the `Publisher` class."]]],[]]