技術創新 Technological Innovation
一、消息隊列RabbitMQ應用
京港多線路公用中心系統(MTRMLC)采用了RabbitMQ消息隊列通信機制。通過RabbitMQ各個應用服務器輕松實現分布式部署,由RabbitMQ控制消息的存儲和轉發,并保證分布式系統的消息唯一性;同時可實現隊列消息持久化,在系統及隊列出現故障時可迅速恢復消息數據;實現消息按照自定義key進行分發和群發,可最大限度的減少消息傳遞頻率并降低對文件系統IO的依賴,減少系統耦合;使得京港MLC系統在擴展性和高可用性方面顯著提升。
二、分布式數據庫mnesia應用
運營公司多線路共用中心系統(MLC二期)采用了Erlang語言進行程序編寫,在進行應用軟件的架構設計時,使用了具備分布式存儲的Erlang自帶數據庫mnesia。mnesia可以實現集群部署,在一個集群的多個節點,mnesia可通過內部機制實現各節點間的自動同步,可以方便的在集群中的任意節點對mnesia進行操作,輕松實現分布式系統之間的數據存儲和共享;mnesia還支持事務操作,確保了數據的一致性;同時mnesia數據存儲在磁盤和內存中,既保證了數據的持久化又保證了讀寫效率。因此在MLC二期系統中為實現系統軟件AA架構提供了技術保障,并大大提高了應用性能。