Skip to content

TCP connections could be more efficient.  #5

@griffinmilsap

Description

@griffinmilsap

Given the following scenario:

  • A publisher to topic on machine A
  • >1 subscriber to topic on machine B, all in same process

Currently, all subscribers will receive the TCP transmission and each overwrite the cache with the same (identical) received message that was serialized, sent, received, deserialized and copied multiple times needlessly. Fixing this would involve giving MessageCache a socket/server that it could synchronize with other MessageCaches running
on other machines/processes. This greatly complicates and fundamentally changes the backend message passing design, and may actually degrade performance for SHM and local caching significantly.

WORKAROUND/DESIGN TIP:
This performance issue can be worked around by creating a re-publisher that receives TCP messages once, then re-publishes them into local process/cache such that other subscribers in this process have direct cache access to the
message that was serialized only once from the source process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ezmsg-coreRelates to the ezmsg.core package

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions