LMAX是一种新型零售金融交易平台。它必须在很短的延迟内处理大量的交易。按照Martin Thompson在QCon 2010上公布的数据[1],它可以每秒处理100,000个事务,每个事务的延迟不超过1毫秒。整个系统的核心是一个业务逻辑处理器。
LMAX is a new retail financial trading platform. As a result it has to process many trades with low latency. The system is built on the JVM platform and centers on a Business Logic Processor that can handle 6 million orders per second on a single thread. The Business Logic Processor runs entirely in-memory using event sourcing. The Business Logic Processor is surrounded by Disruptors - a concurrency component that implements a network of queues that operate without needing locks. During the design process the team concluded that recent directions in high-performance concurrency models using queues are fundamentally at odds with modern CPU design.
环形缓冲队列
LMAX的核心数据结构是
参考资料
1. InfoQ presentation: LMAX - How to Do 100K TPS at Less than 1ms Latency, http://www.infoq.com/presentations/LMAX
2. The LMAX Architecture, http://martinfowler.com/articles/lmax.html
3. Disruptor Homepage, http://code.google.com/p/disruptor/
4. How does LMAX's disruptor pattern work? http://stackoverflow.com/questions/6559308/how-does-lmaxs-disruptor-pattern-work
5. Dissecting the Disruptor: What's so special about a ring buffer? http://mechanitis.blogspot.com/2011/06/dissecting-disruptor-whats-so-special.html
6. Concurrent Programming Using The Disruptor, http://www.infoq.com/presentations/Concurrent-Programming-Using-The-Disruptor
LMAX架构- Thinking In Jdon, http://www.jdon.com/42452