Most software these days is social software – moving pieces in a larger ecosystem, from mobile phones to data centres. The cost of exposing and maintaining these integration points are still too expensive. Code refactoring is a common practice at most shops, but how often do we find stories for reworking communications infrastructure in sprint backlogs? A myriad of projects continue to reinvent the wheel with network specific code that often requires years of experience and knowledge of specs to get right. There’s a better way. But first…
What’s wrong with sockets?
Not everyone can write good network services. A strong developer profile with knowledge of I/O multiplexing, buffer management and protocols is required. APIs, socket options and error codes also aren’t portable, however high level languages tend to handle them very well. Most are limited to being locked in to 2 communication patterns: bi-directional or multicast, with lock step connection setup. This does not conform to the scalable data and work distribution patterns required by modern software and business needs.
Instant messaging for Apps
What is ZeroMQ ?
- Broker – there’s no central „message queue“ or persistence, thus no Single Point of Failure (SPOF)
- Admin – nothing to administer, other than your apps off course
- Cost – BSD sockets API, easy to learn patterns and abstractions
- Waste – light footprint, minimal allocations and system calls
- Latency (almost) – designed from the ground up for minimal latency in the Financial Services industry
- Price tag
THIS IS A PREVIEW. DOWNLOAD ISSUE 6 TO READ THE FULL ARTICLE.