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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThis webpage provides documentation for different versions of the Google Cloud Pub/Sub C++ library, ranging from version 2.11.0 up to the release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation details the \u003ccode\u003eMessageOrderingOption\u003c/code\u003e struct, which configures whether messages are delivered in the same order as they are given to the publisher.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering is disabled by default to maximize throughput, as enforcing order can limit how many messages can be sent.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePublisher\u003c/code\u003e class documentation provides further information on the ordering of messages and configuration options.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMessageOrderingOption\u003c/code\u003e is an alias of the \u003ccode\u003ebool\u003c/code\u003e type.\u003c/p\u003e\n"]]],[],null,[]]