Is there Thrift marshaling / unmarshaling support for Spray?

My organization has chosen to adopt Thrift messaging as the lingua franca to integrate our clients and services. All our services are written (or will be written) in Scala while we have clients written in other languages.

Currently (to my knowledge) Scrooge is the only Thrift IDL compiler for Scala and it targets Finagle. I would like the option of building services on Spray.

What are my options using off-the-shelf (open source) software, if any?

Answers


We are avid Thrift/Finagle users and can honestly say there is nothing out there that compares to Finagle.

A few things you get out-of-the box with Finagle:

  • Automatic compilation of services and clients with Scrooge
  • Integration with both Java And Scala of data structures(again Scrooge)
  • Ability to add Thrift dependencies to a project.(Scrooge will extract and compile IDL for jars etc).
  • You have the maven-finagle-thrift plugin, which is a Maven flavour of Scrooge.

Now about Finagle, have a look here. Compared to Finagle, Spray is a toy. Finagle is by far the best Scala tool for distributed services:

  • Scalable centralized logging out of the box(Zipkin)
  • Automatic management, metrics and a lot more goodies with Twitter Server.
  • Out-of-the-box Zookeeper and Mesos integration
  • Highly efficient separation of concerns(ThriftMux and handlers etc.)
  • A plethora of protocols for high performance tools
  • A concurrency model that will easily outperform Akka on RPC requests(where actors can't be used).

I'm not aware of other Thrift options so deeply integrated with Scala and there's little reason to go outside of Finagle. You do however have to go with the full ecosystem to really benefit from it.


Need Your Help

ASP.NET MVC - Prevent Cache on Ajax.ActionLinks

asp.net-mvc-3 asp.net-ajax browser-cache

Is there anyway to disable the cache when using Ajax.ActionLink. Im having problems in IE whereby If I remove an item, which uses an ajax actionlink, it then reloads the partial view which the item...

How to read Hebrew text using System.IO.FileStream?

c# filestream

Am I missing something or does System.IO.FileStream not read Unicode text files containing Hebrew?