source API gateway written in Go. - I’m 22 years old and I live in Paraguay, a small country in the heart of South America. - Wrote my first program when I was 10 years old. - I like pasta :)
integrate new language runtimes? - A lot of language runtimes are embeddable and have nice APIs for that. - In-process request passing. - “Mapping” our http.Request to C structs (and passing them) makes sense, but it’s hard to maintain, we also need to pass session objects (lot of fields and nested structures). - We decided to use Protocol Buffers, it has a significant overhead but makes it maintainable.
copying data structures. We’re in the process of optimizing this. - We did a lot of benchmarks, LuaJIT is able to handle a lot more requests per second than the rest of the embedded runtimes. - I find the Protocol Buffers + cgo combination very powerful. - Go 1.8 “plugins” will give us a lot of possibilities.
- .NET has a CLR “Hosting API”, I didn’t find enough documentation about it. - The PoC uses the CLR Hosting API, and it does a very simple thing (from Go): loads an assembly file (DLL) and calls a .NET function. go-dotnet
working on the code generation approach, and would like to turn the PoC into an useful package. - Interesting things to try: serve ASP.NET apps with net/ http :p go-dotnet