1

We are building an OLTP gateway, were this gateway has the following (partly) requirements:
High-throughput and low latency, no single point of failure, and fully scalable solution with initial capability for 500 tps per instance and scalable to 5000 tps. (but of course :-))
The gateway will also have to integrate with third party services (like - acquiring banks, alternative payment methods and other implementations).
We have many system zones (and modules within) so for the sake of clarity I will mention two:
Core Gateway zone – encapsulates many modules consisting together the OLTP engine.
And Back-end Integration zone - for these third party services implementations.
Our system zones separation considered the ability to scale module independently in a clustered environment when the module overloads.

We are working with java and we plan on using AKKA and Camel platforms as the basis for the gateway OLTP architecture.
We chose these platforms for their well known advanced features.
We are new to AKKA and Camel platforms so we did a lot of research and learning over the web and we feel very confident with its capabilities.

So right now our main concern is with AKKA's routing and load balancing messages/requests/work between our modules and system zones.
We try to find out if using a regular NLB between our system zones will be a better choice to go with.
We try to measure our decision according to the following parameters and order:
1. Performance
2. Known and successive implementation
3. Statistics
4. Fault-tolerant
5. Routing strategies
6. Configuration
7. Debugging on (near) real time
We believe that the sections 4-6 in the above list can easily satisfied by AKKA and we wonder about the first three and section 7…
We have researched over the web for information about AKKA's routing and load balancing and came out with many good articles.
http://prochera.com | use case for akka (stackoverflow) (also akka's docs and I have some more links) But we did not found much of information that will help us to decide which is the better approach (AKKA's routing and load balancing VS regular NLB)

So finally here are banch of questions concerning our dilemma:
1. Can you provide some statistics on AKKA's routing and load balancing performance in distributed systems?
2. Can you provide comparison between AKKA's routing and load balancing VS regular NLB?
3. Can you provide known and successive implementation in the market?
4. Is there known problems/cons using AKKA's routing and load balancing?
5. We wonder on a solution that implements AKKA yet let external load balancing do the inter-machine communications - which can be replaced by all AKKA mechanism at a later phase. Can you think of one (high level)?
6. Can AKKA perform sticky based load balancing onto multiple back-end servers?
7. Is it easy to debug / log trace on (near) real time the AKKA's routing and load balancing?

Would really appreciate some feedbacks.
Tzvika

Community
  • 1
  • 1
  • 1
    Take a look at Typesafe Console, maybe it fits your needs re: tracing/profiling. Regarding LB, akka should be more than enough for your needs. The big advantage is that you can implement your own routers/load balancing algorithms. Consistent hashing is already there for you, as is work stealing, round robin & "smallest mailbox". Personally I have successfully ran Akka configurations in production with sustained transaction rates > 500k TPS with soft realtime requirements. They were using event sourcing. Good luck! – ponythewhite Nov 16 '14 at 19:03
  • While the console has been EndOfLife-ed there's Kamon or NewRelic or other monitoring partners. – Konrad 'ktoso' Malawski Nov 17 '14 at 11:17
  • Thanks, but let me be clearer. Let say my "instance" consisted of: 4 physical servers (each with 12 cores & 128 GB memory), total 14 VM machines. And let say that the OLTP modules and API zone take half of this horse power (other half go to UI, application and DB) Do you know of any successive implementation of Akka's routing & load balancing with numbers close to my above requirements? – Tzvika Velich Nov 17 '14 at 23:52

0 Answers0