[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Request: Apache Thrift



Hi Miragistas, much love & respect for your Unikernalist & Cross-everything 
cause-

I'm not capable of getting this project going myself, and am filing a broad 
request, or at least a
registrance of interest here: I'd love to see Thrift support on Mirage. Thrift 
has a fairly wide
presence in the "big data"/computing-services world, and serves as a 
serialization protocol as well
as an RPC mechanism. I'd love for the ability to host Thrift services in 
Mirage, and to make
connections to external Thrift services.

I've run the Thrift generator on their tutorial's "idl" files, the 
interface-descriptor-language
files, producing some OCaml code. It produces some relatively simple looking 
OCaml code, backed by a
Thrift library which is where the real implementation is.

I'm hosting the IDL files & their generated OCaml output:
https://github.com/rektide/thrift-tutorial-ocaml

Thrift's OCaml code is at:
https://github.com/apache/thrift/tree/master/lib/ocaml/src

Some of the projects using Thrift:
* HBase (data-storage)
* Hive (data-querying)
* Spark (data-storage)
* Scribe (logging)
* Cassandra (data-storage)
* Tachyon (memory-store)

I've spent a couple hours trying to make a start at this, and wouldn't mind 
taking the project on
myself if I had some high level design to point to authored by someone with a 
reasonable familiarity
with options for threading (lwt &c) in Mirage and with a confidence that they 
have any idea
whatsoever what they were doing and what a good final product might look like. 
I definitely am not
familiar or comfortable enough with Mirage to have felt like I was doing 
anything more than casually
slinging codes around, mostly owing to not really grokking the concurrency 
models available.

I suspect for someone that is better intimate with Mirage, porting the Thrift 
OCaml code could be
short day or two or hacking, and it'd be lovely to get to use Mirage alongside 
some of the big
computing stacks out there. I personally am gung ho for playing with some of 
the Amp Lab stuff-
Spark, & Tachyon, and would love to be doing it in Mirage, but I found myself 
not widely versed
enough to be up to the task of porting the OCaml Thrift code myself, unguided.

I'll continue idling on IRC, or as you prefer reply here. Thanks.

Regards,
-rektide



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.