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 latest version available is 2.37.0-rc, with the provided content also containing links to previous versions.\u003c/p\u003e\n"],["\u003cp\u003eThis page details the \u003ccode\u003eMessageOrderingOption\u003c/code\u003e for Google Cloud Pub/Sub's C++ client library, which is a configuration to ensure messages are delivered in the order they were sent.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering is disabled by default, as enabling it may reduce throughput because the client waits for a batch to be delivered before sending another, to ensure ordered delivery.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation for the \u003ccode\u003ePublisher\u003c/code\u003e class provides additional information on message ordering.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eMessageOrderingOption\u003c/code\u003e type alias represents a boolean value.\u003c/p\u003e\n"]]],[],null,[]]