
High throughput of outgoing emails is perhaps the most important performance challenge of Merce Broadside. Scalability to deliver ever-higher performance when provided with more hardware and network resources is perhaps the second most important challenge. Both these are addressed successfully.
Automatic load distribution. Merce Broadside automatically monitors all transmitter processes and automatically distributes load evenly across all of them, delivering very high scalability. This allows for large installations on an array of servers and Merce Broadside can send out messages in parallel streams.
Multi-process architecture. Merce Broadside is designed as a set of cooperating processes, allowing high fault isolation and delivering high scalability. The pre-processors, dispatchers, and transmitters are all separate processes which handle their specific roles without shared memory or other tight coupling, thus contributing to a highly fault-resilient architecture. Most communication happens over network connections. Health probes use UDP request-responses for a low-latency, loosely coupled integration. This also contributes to very high scalability. More and more hardware can be thrown at a Merce Broadside system to get ever-higher throughput.
Multi-queue message transmission. Merce Broadside transmits messages in multiple parallel queues, making the overall throughput insensitive to occasional blocks or chokes of individual queues. This becomes specially important when remote servers are malfunctioning, making connections hang or time out repeatedly. Such occurrences affect one queue but leave the others unaffected. Blocks, occasional black-listing, or other impediments to mail flow are also shared due to this multi-queue design.
Full-breadth incoming message handling. All Merce Broadside transmitters are configured to handle all categories of incoming messages, thus allowing load distribution, rapid response, and scalability. All incoming messages are handled by transmitter processes in Merce Broadside. This makes the system more capable to handle incoming messages, resist DoS attacks, and deliver faster responses even in the presence of partial unavailability of transmitter processes.
Streaming of log messages. Merce Broadside processes stream log messages in multiple parallel streams, eliminating any bottlenecks at the central database for log recording. Since Merce Broadside has a detailed central log database, all messages from all processes must eventually be logged in the central log database. Many of these processes execute on physically separate servers. To allow high speed logging of messages from all these processes, the logging sub-system first collects messages in separate streams directly to disk using low-latency file-based streams. It then aggregates these log messages into the central database by the use of a separate log aggregator process. Direct updates to a relational database in real time would have yielded poorer performance.