This caught my eye on hack news this morning, I thought it would be notable here. It's a discussion of the LMAX architecture by Martin Fowler.
http://martinfowler.com/articles/lmax.html
Apparently this system scales up to 6 million orders per second. It doesn't give exact latency other than "low"
Plus some other resources
http://www.infoq.com/presentations/LMAX
Part of the system is open source http://code.google.com/p/disruptor/
LMAX Architecture - Running 6 Million orders per second on Java
- newestHook
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
- dgn2
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
Interesting, thanks for posting.
...WARNING: I am an optimal f'er
- Nonius
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
Someone was just telling me about LMAX today. Checked out their API. Anyone ever used it? Simple due diligence on the parent doesn't paint the best picture of late...
Chiral is Tyler Durden
- signalseeker
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
If you watch the presentation they sure know what they are talking about. The idea of data oriented design is not completely novel even in finance (eg kx) but to be honest I was very impressed that they were able to do this on the jvm. No offense but java programmers are not exactly known for their craftiness.
The dark is light enough.
- HankScorpio
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
That is because they are probably C programmers masquerading as Java programmers. They also use Azul's JVM IIRC.
East-coast supervillain Evil Smile
- dgn2
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
I have been very slowly working my way through Martin Fowler's 'Patterns of Enterprise Application Architecture' over the last little while. I have a leave coming up in 4 weeks and I am hoping I can try some of the patterns using 0MQ or rabbitMQ. Is anyone using/playing with 0MQ?
...WARNING: I am an optimal f'er
- signalseeker
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
dgn2: I am sure that is a great book but I have a feeling that it is somewhat dated especially in the context on 0MQ which inverts a lot of traditional messaging architectures. The 0MQ manual is pretty good in laying out the concepts and also very hands down, so I would start with that first.
0MQ has all the qualities that I like - minimalistic, fast, multiple language bindings. I really like it but I haven't used it in a production context. People dislike the fact that it has a lot of asserts in the code but they were supposed to be changing that.
kanucatchit here can tell you more about it.
0MQ has all the qualities that I like - minimalistic, fast, multiple language bindings. I really like it but I haven't used it in a production context. People dislike the fact that it has a lot of asserts in the code but they were supposed to be changing that.
kanucatchit here can tell you more about it.
The dark is light enough.
- dgn2
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
Thanks signalseeker, I will read more of the 0MQ documentation.
The book is definitely a little dated, but many of the patterns (so far) still seem applicable to me. It is more the approach that interests me. Not being an experienced developer there is so much I don't know.
What is the implication of a lot of asserts in the code?
Sorry about the thread-jack.
The book is definitely a little dated, but many of the patterns (so far) still seem applicable to me. It is more the approach that interests me. Not being an experienced developer there is so much I don't know.
What is the implication of a lot of asserts in the code?
Sorry about the thread-jack.
...WARNING: I am an optimal f'er
- FDAXHunter
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
I've used RabbitMQ. It's alright, but the problem is the Erlang part, which just makes it annoying in deployment, although it is robust as hell. Also the documentation is pretty damn annoying (or non-existent)
I can echo signalseeker's comments on 0MQ.
I can echo signalseeker's comments on 0MQ.
The Figs Protocol.
- Patrik
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
LMAX Architecture - Running 6 Million orders per second on Java
Also have some RabbitMQ experience. Similar thoughts to FDAX. Adding that I don't think deploying the broker on windows is very common and we had to do a fair bit of digging on our own to get certain things to work or work at decent performance. And the .NET client lib not as full featured and worked through as Java one.
0MQ I've only played with so far, but like the ideas and with a bit more docs and longevity of the project would be happy to try it out in production as well.
0MQ I've only played with so far, but like the ideas and with a bit more docs and longevity of the project would be happy to try it out in production as well.
/Patrik