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\u003eThe content provides a list of versions for the \u003ccode\u003eMessageOrderingOption\u003c/code\u003e in the Google Cloud Pub/Sub C++ library, ranging from version 2.11.0 to 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is 2.37.0-rc, representing the most recent release candidate.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering, which guarantees the sequence of message delivery, is disabled by default in the library to maintain throughput for those who do not need it.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering requires waiting for the successful delivery of message batches to maintain order, which can limit throughput.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePublisher\u003c/code\u003e class documentation contains more details about message ordering.\u003c/p\u003e\n"]]],[],null,[]]