Live data from Hacker News

Building microservices with akka-http

labs.unacast.com

1–10 of 11 posts

Re: Building microservices with akka-http

#5
One nerd's opinion: Akka-http (and Spray, from which it came) is a building block, not a web framework. It would be semi-reasonable to build a web framework using akka-http, but suicidal to use it to build web services directly. It would be like writing a web service directly on top of TCP -- there's value in abstracting all that crap away so that the developer can focus on the actual problem space, rather than the transport.

If I were to suggest alternative web frameworks for Scala devs, I'd point to Play Framework (full) or Scalatra (lightweight). Personally I jumped languages and VMs to the Elixir community, where I am having a dandy time writing asynchronous web APIs using the Phoenix Framework.

[1] https://www.playframework.com/ [2] http://www.scalatra.org/ [3] http://www.phoenixframework.org/

Re: Building microservices with akka-http

#6
post #5

One nerd's opinion: Akka-http (and Spray, from which it came) is a building block, not a web framework. It would be semi-reasonable to build a web framework using akka-http, but suicidal to use it to build web services directly. It would be like writing a web service directly on top of TCP -- there's value in abstracting all that crap away so that the developer can focus on the actual problem space, rather than the t…

I totally agree, I'm also playing around with Play (no pun intended). But as stated in the post - for microservices that are used by other services, I think akka-http makes total sense - especially since it integrates nicely with akka that we are using for tasks / jobs in our platform.

Re: Building microservices with akka-http

#7
post #5

One nerd's opinion: Akka-http (and Spray, from which it came) is a building block, not a web framework. It would be semi-reasonable to build a web framework using akka-http, but suicidal to use it to build web services directly. It would be like writing a web service directly on top of TCP -- there's value in abstracting all that crap away so that the developer can focus on the actual problem space, rather than the t…

Do you find that you miss Scala's type system in Elixir? I'm a big fan of FP, but I also really enjoy type safety. I just wrote a functional pipeline in perl and most of the errors were dumb things I did that a type system would have caught.

Re: Building microservices with akka-http

#8

This just gave me a stomach bug...

To me it also looked like a lot of work to do what was being done. I've been pretty into Rails 5's API-only mode lately as it works great with Ember front-ends. Here's a pretty quick guide to jump in if you're curious: http://emberigniter.com/modern-bridge-ember-and-rails-5-with...

Rails scaffolds are ridiculous these days. A working object model + controller + routing resulting in a JSON API with CRUD ops on your new class is a one-liner now.

Re: Building microservices with akka-http

#9
post #7
post #5

One nerd's opinion: Akka-http (and Spray, from which it came) is a building block, not a web framework. It would be semi-reasonable to build a web framework using akka-http, but suicidal to use it to build web services directly. It would be like writing a web service directly on top of TCP -- there's value in abstracting all that crap away so that the developer can focus on the actual problem space, rather than the t…

Do you find that you miss Scala's type system in Elixir? I'm a big fan of FP, but I also really enjoy type safety. I just wrote a functional pipeline in perl and most of the errors were dumb things I did that a type system would have caught.

I do find myself missing strong typing sometimes, but I'd been writing scalaz-flavored Scala, and one thing I do not miss is working around JVM type erasure all the time. It has been about six months since I've had to type .asInstanceOf[T] and I am not looking back. :)

Aside from strong typing, almost everything related to FP/concurrency/fault-tolerance that I liked about Scala is in Elixir -- first-class functions, immutable everything, shared nothing, everything is actors passing messages, supervision trees, etc. I can even whip out monads when I want them!

[1] https://github.com/rob-brown/MonadEx

Re: Building microservices with akka-http

#10
akka-http and the rest of the ecosystem run fine on Scala 2.11, that's the status quo.

The question remains how well Scala 2.12 will help in migrating to JDK 8.

The Github activity of the scalac core contributors [1] [2] [3] shows no hurry on that.

[1] https://github.com/adriaanm [2] https://github.com/retronym [3] https://github.com/lrytz

Post reply on HN