BP-Node is a Tier 1 banking switch capable of sustained processing of over 2000TPS. BP-Node has been designed and written in a state-less, message-driven architecture. At the core of the BP-Node architecture is Message Bus. Message Bus acts as a kind of network hub for messages to and from all BP-Node components. Each BP-Node configured component has its own subscribers to MessageBus who search for a particular message type.
When BP-Node’s Message Bus receives a random message, it iterates it to all subscribers to see if they are interested in processing it. And as the message itself is represented by a shared pointer — a nearly static object — its delivery to a subscriber occurs in real-time. The number of circulating messages has no impact on BP-Node’s performance, as each message is working in its separate thread and thus this processing is asynchronous to that of the other messages.
There are many message types: Timeout, UserInterface, Security, Persistance, RemoteCommand, SystemStatus, CryptographicRequest, KeyRequest and lastly Financial messages. All of these messages are constantly being triggered by a variety of external events (front-end enquiries, network connections) and also by internal timers (scheduler, cleaners, message time-outs, health system and monitoring). All are handled by the MessageBus. Although this causes the Message Bus to be constantly busy (basic BP-Node configuration constantly processes about 30TPS), there is no processing overhead when the MessageBus receives a message. The Message Bus message processing is instantaneous and non-blocking and thus has minimal impact on system performance. It is important to understand how Message Bus operates to understand how system-wide tracing and monitoring are provided in BP-Node.
BP-Node uses several different components to provide system-wide tracing and monitoring: Health, External Monitoring, Events, Tracing and Debug Mode, as described below. These are the base components delivered as part of every BP-Node installation and they are essential for any BP-Node delivery. All these components subscribe automatically to the Message Bus and use it as a central communication node to broadcast their status to other components.
Lets have a closer look on the options provided:
The excerpt above demonstrate some basic techniques BP-Node uses to keep its performance and stability even under high loads. The BP-Node User Guide provides much deeper insight into this and you can always turn to EFTlab’s support team if you have any questions.