Distributed systems require sharing data between components. When developing a message queue system, issues can arise from zombie processes that are sent data but are not alive to receive it. Effective messaging architectures consider multiple factors such as message size, protocol compatibility across networks, and ensuring relevant firewalls and ports are open for communication. References for further reading on message queue systems like ZeroMQ, RabbitMQ and ActiveMQ are provided.