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 of the \u003ccode\u003eMessageOrderingOption\u003c/code\u003e is 2.37.0-rc, and it is the most current version of the google pubsub option.\u003c/p\u003e\n"],["\u003cp\u003eThis page provides a historical overview of different versions of the \u003ccode\u003eMessageOrderingOption\u003c/code\u003e, including everything from 2.11.0 up to 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering in the \u003ccode\u003ePublisher\u003c/code\u003e class is disabled by default because it can limit the overall throughput of messages if not needed.\u003c/p\u003e\n"],["\u003cp\u003eMessage ordering ensures messages are received in the order they were sent, but the client library has to wait for a batch of messages to be delivered before sending another.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMessageOrderingOption\u003c/code\u003e type is an alias of bool.\u003c/p\u003e\n"]]],[],null,[]]