AFC Product-MLC Technology Innovation
Application of Message Queue RabbitMQ
The Beijing-Hong Kong MTRMLC system uses the RabbitMQ Message Queue communication mechanism. Through RabbitMQ, each application server can easily achieve the distributed deployment, in which, RabbitMQ controls the storage and forwarding of message and ensures the message uniqueness of the distributed system; achieve the persistence of queue message as well, and restore the message data quickly in case of any failure in the system or the queue; achieve the individual sending and group sending of message in accordance with the custom key, minimizing the message transfer frequency, and reducing the dependence on the file system IO, and the system coupling; and significantly improving the scalability and high-availability of the Beijing-Hong Kong MLC system.
Application of Distributed Database mnesia
The operating company’s MTRMLC system (MLC II) programmes with the Erlang language. In the architecture design of the application software, the Erlang own database mnesia with distributed storage is used. mnesia can achieve cluster deployment. In multiple nodes of a cluster, mnesia can achieve automatic synchronization between the nodes through the internal mechanism, which allows the operation on mnesia in any node of the cluster, easily achieving the data storage and share between the distributed systems; mnesia also supports business operation to ensure the consistency of the data. Besides, the mnesia data is stored in the disk and memory, which ensures the durability of the data and the efficiency of reading and writing. Therefore, the application of the distributed database mnesia in the MLC II system provides the technical guarantee for the realization of the system software AA architecture and greatly improves the application performance.