Hi everyone,

today I'd like to announce (and advertise a little bit) two packages for Go 
that
we've developed in our company and use them in the core of our pure-Go
backendstack.

First one, AstraNet, is a multi-purpose Go component that is a stream
multiplexer on the first place, and besides that it provides a virtual 
network,
zero-configuration service discovery, automatic round-robin and hash-based
balancing of service backends, fully autonomous P2P routing. I used the term
"component" rather than "framework" because it acts like a typical 
net.Listener
and can be interchanged with TCP one to serve HTTP as well, you can combine 
it
with other tools you like and we do not force anyone to create a 
framework-lock
in your projects. Note, that you can also use KCP-over-UDP rather than TCP 
for
the underlying ordered transport.

The second one, Chanserv, provides a useful abstraction over AstraNet, it
leverages its streaming and discovery capabilites and allows to serve `<- 
chan
<- chan Message`-like constructions over the net, reassembling the result 
into
`<- chan <- chan Message` on the other end. All the streams run 
independently
from each other, so if one stream becomes slow or blocked, that would not 
slow
down the others. This principle allows us to implement hotel search over 
dozens
of rate sources while delivering results to the user as fast as they appear 
on
the other side. (check it out: http://zenhotels.com any feedback is always 
welcome,
you can write to me directly).

We're very proud to be contributors to the Go opensource and be a part of 
this
excellent community. And of course, pull requests are always welcome.

To describe principles behind AstraNet and Chanserv better, we've wrote a 
few
articles in our blog:
1) http://tech.zenhotels.com/introducing-astranet/
2) http://tech.zenhotels.com/chanserv-and-astranet/

Of course, more deep examples and articles are coming soon, as the time 
allows.

Cheers!
- Max

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to