*Correction highlighted:* Hepin's *Netty 4* implementation is "not" publicly available, though he forgot to eliminate it from Maven central servers, though I'm not using it because is *NOT* a contribution purposed for the community:
On Sunday, January 31, 2016 at 4:39:29 PM UTC, Guido Medina wrote: > > I have been using Akka remote/cluster for a year now, I was sold with > location transparency so my micro-services have a cache of remote actors > and for the engine it is irrelevant where the actor is, the only drawbacks > of akka-remote are: > > - It is still based on Netty 3.x which is kind of old and some studies > have concluded in that Netty 3.x generates too much garbage making it bad > for high frequency. > - It has the least of priority for the community at the moment, I > guess we have to wait for the community to start using distributed > location > transparent micro-services and then realize it is too slow because of > Netty > version or whatever. > > Hepin's Netty implementation is "not" publicly available, though he forgot > to eliminate it from Maven central servers, though I'm not using it because > is a contribution purposed for the community: > > > http://search.maven.org/#artifactdetails%7Ccn.q-game%7Cakka-remote-transport-io-netty_2.11%7C1.0.1%7Cjar > > http://search.maven.org/#artifactdetails%7Ccn.q-game%7Cakka-io-netty_2.11%7C1.0.1%7Cjar > > Akka guys are planning to move to akka-streams completely so I wouldn't > try to migrate it anyways, what I do hope is that when they do that they > don't make it worse than Netty 3.x performance. > > My micro-services rely on akka-cluster roles and cluster events (MemberUp > and MemberDown) to know where is located the engine supervisor of each > micro-service to establish the first handshake to start interchanging > actors' caches, I have 3 types of micro-services: > > - *ACTIVE_PASSIVE:* The 1st micro-service acts as master the the > other(s) as passive, the next will take over if one goes down. > - *SHARD:* A specialized DDD sharding with even distribution in mind > by DB IDs, using an special collection type where ranges of numbers are > stored in ranges, similar to Guava's Range data-structure but mine is > different and smaller. > - *ROUND_ROBIN:* This type of component is used in the same order they > registered, add/remove to a RoundRobin router accordingly. > > The rest is just location transparency, so I'm doing something like: > > final ActorRef accountRef = cache.findBy(ACCOUNT, 123); // Locates the > actor of type ACCOUNT and ID = 123 > if (accountRef != null) { > accountRef.tell(new AccountTransaction(...), noSender()); > } > > > Cache is ConcurrentMap, etc, my component or micro-service supervisor > extends from an AbstractSupervisor with all cluster logic and messaging > built-in, this is whole model by the way I'm very with. > > Regards, > > Guido. > > > On Sunday, January 31, 2016 at 8:27:36 AM UTC, Amir Karimi wrote: >> >> Hi, >> >> We are coding in Scala and we decided to use akka-remoting for our >> microservices communication instead of JSON APIs. It's very concise and >> simple and you don't have to deal with manual JSON serialization until you >> need backward compatibility. Then you have to put aside default java >> serializer and use something like JSON. It's OK but I don't see many people >> use json serializer or alike for akka-remoting. Instead they tend to use >> akka-http, Spray, etc. and build a standard JSON API using a web framework. >> >> I think using the akka-remoting serialization would be more concise and >> simpler than other methods because you just work with case classes which is >> very pleasant. What is your experiences? What do you advice? >> >> Thanks >> > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
