IM instant messaging software design

References:

Architecture design:

image.png

Storage model design:

image.png

Optimization group scene

For a group scene, it is necessary to put a message to each member of the group inbox timeline it? I feel no need to, ah, if many members of the group, that the group message to all group members to synchronize the Inbox is very time-consuming, poor performance. Reasonable approach should be the scene for the group, does not require the group message to all group members to synchronize the inbox, but instead inform all members of the group sessions for a group of new messages, so that all devices of group members They are corresponding to the group session timeline pull message on the line.

How to withdraw support for the message?

Revocation message, the user's intention should wish to cancel the message. For the server, the correct logic should delete this message. My initial consideration is to withdraw a written message to the timeline. When reading the timeline, do some message filtering, a message corresponding to withdraw the message, can not be returned to the device side. You can also throw their own ideas.

Guess you like

Origin www.cnblogs.com/netfocus/p/11239533.html