A high-throughput, distributed, publish-subscribe messaging system based on memory mapped file and Thrift RPC