一、消息队列RabbitMQ应用
京港多线路公用中心系统(MTRMLC)采用了RabbitMQ消息队列通信机制。通过RabbitMQ各个应用服务器轻松实现分布式部署,由RabbitMQ控制消息的存储和转发,并保证分布式系统的消息唯一性;同时可实现队列消息持久化,在系统及队列出现故障时可迅速恢复消息数据;实现消息按照自定义key进行分发和群发,可最大限度的减少消息传递频率并降低对文件系统IO的依赖,减少系统耦合;使得京港MLC系统在扩展性和高可用性方面显著提升。
二、分布式数据库mnesia应用
运营公司多线路共用中心系统(MLC二期)采用了Erlang语言进行程序编写,在进行应用软件的架构设计时,使用了具备分布式存储的Erlang自带数据库mnesia。mnesia可以实现集群部署,在一个集群的多个节点,mnesia可通过内部机制实现各节点间的自动同步,可以方便的在集群中的任意节点对mnesia进行操作,轻松实现分布式系统之间的数据存储和共享;mnesia还支持事务操作,确保了数据的一致性;同时mnesia数据存储在磁盘和内存中,既保证了数据的持久化又保证了读写效率。因此在MLC二期系统中为实现系统软件AA架构提供了技术保障,并大大提高了应用性能。