A communications system, wherein the communications system comprises at least a first data center and a second data center, the first data center comprises a first message proxy, a first routing proxy, a service server, and a storage server, an application runs on the service server, and the storage server is configured to store a message sent by the application on the service server; the first message proxy is configured to: receive a first message sent by the application running on the service server, add routing information to the first message to generate a second message when determining that the first message is a message processed by the second data center, and store the second message in a public area of the storage server, wherein the storage server comprises a private area and the public area, the private area is used to store a message processed by the first data center, and the public area is used to store a message processed by the second data center; and the first routing proxy is configured to obtain the second message from the public area, and send the second message to the second data center based on the routing information, wherein the first message proxy is further configured to: before adding the routing information to the first message to generate the second message, determine the routing information based on configuration information, wherein the configuration information comprises a correspondence among identifiers of respective message queues in the first and second data centers, an identifier of the application that sends the first message, and an identifier of an application that processes the second message. wherein the communications system comprises at least a first data center and a second data center, the first data center comprises a first message proxy, a first routing proxy, a service server, and a storage server, an application runs on the service server, and the storage server is configured to store a message sent by the application on the service server; the first message proxy is configured to: receive a first message sent by the application running on the service server, add routing information to the first message to generate a second message when determining that the first message is a message processed by the second data center, and store the second message in a public area of the storage server, wherein the storage server comprises a private area and the public area, the private area is used to store a message processed by the first data center, and the public area is used to store a message processed by the second data center; and the first routing proxy is configured to obtain the second message from the public area, and send the second message to the second data center based on the routing information, wherein the first message proxy is further configured to: before adding the routing information to the first message to generate the second message, determine the routing information based on configuration information, wherein the configuration information comprises a correspondence among identifiers of respective message queues in the first and second data centers, an identifier of the application that sends the first message, and an identifier of an application that processes the second message.