On Sat, Mar 18, 2017 at 10:23 AM, Patrik Nordwall <[email protected] > wrote:
> Isn't the difference that with Kryo you don't have to write the tedious > mapping code between the domain classes and the protobuf classes? > To a large degree, yes -- my real problem with protobuf is that it's essentially decoupled code duplication, and I'm pretty allergic to that. (Unless you deal with code generation, and then the code becomes harder to scan and understand.) That was my primary reason for going for Kryo instead, and I might still use it knowing what I know now -- but the clear realization in retrospect is that you still have to write what amounts to a protobuf description *in* your class descriptions, in order to cope with schema evolution. For the Akka internal classes we see that mapping as an advantage because > it gives us full control but I can understand that in a large system that > code can be seen as a waste. Yeah -- while Querki isn't "large" in the grand scheme of things, my Akka Persistence schema is growing pretty much every month, so it's nice having clean in-code ways of dealing with that. But getting there took some significant effort -- I had to enhance romix' library in order to cope with properly serializing the core Scala/Akka types (I had no idea how insane some of those traits are until I got into it), and wound up building several utilities to cope with the reality of evolution. Hopefully others will be able to use some of this trailblazing... -- >>>>>>>>>> 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.
