Displaying 1 to 19 from 19 results

torrent - Full-featured BitTorrent client package and utilities

  •    Go

This repository implements BitTorrent-related packages and command-line utilities in Go. The emphasis is on use as a library from other projects. It's been used 24/7 in production by a downstream, private service since late 2014.There is support for protocol encryption, DHT, PEX, uTP, and various extensions. See the package documentation for a more complete list. There are several data storage backends provided: blob, file, and mmap, and you can write your own, such as to store data on S3, or in a database. You can use the provided binaries in ./cmd, or use package torrent as a library for your own applications.

gleam - Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly

  •    Go

Gleam is a high performance and efficient distributed execution system, and also simple, generic, flexible and easy to customize.Gleam is built in Go, and the user defined computation can be written in Go, Unix pipe tools, or any streaming programs.

glow - Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc

  •    Go

Glow is providing a library to easily compute in parallel threads or distributed to clusters of machines. This is written in pure Go.I am also working on a Go+Luajit system, https://github.com/chrislusf/gleam , which is more flexible and more performant.

grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC

  •    Go

The Go implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the gRPC Quick Start: Go guide.This requires Go 1.7 or later.




rpcx - A RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan

  •    Go

go get -u -v github.com/smallnest/rpcx/...rpcx is a distributed RPC framework like Alibaba Dubbo and Weibo Motan. It is based on Go net/rpc and provides extra governance features.

micro - A microservice toolkit for distributed systems development

  •    Go

Micro is a microservice toolkit. Its purpose is to simplify distributed systems development.Check out go-micro if you want to start writing services in Go now or ja-micro for Java. Examples of how to use micro with other languages can be found in examples/sidecar.

Go kit - A standard library for microservices.

  •    Go

Go kit is a programming toolkit for building microservices (or elegant monoliths) in Go. We solve common problems in distributed systems and application architecture so you can focus on delivering business value. Go is a great general-purpose language, but microservices require a certain amount of specialized support. RPC safety, system observability, infrastructure integration, even program design — Go kit fills in the gaps left by the standard library, and makes Go a first-class language for writing microservices in any organization.

hprose-golang - Hprose is a cross-language RPC. This project is Hprose 2.0 for Golang.

  •    Go

Hprose is a High Performance Remote Object Service Engine.It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.


ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications

  •    Go

Ringpop is a library that brings cooperation and coordination to distributed applications. It maintains a consistent hash ring on top of a membership protocol and provides request forwarding as a routing convenience. It can be used to shard your application in a way that's scalable and fault tolerant.to install remaining golang dependencies and install the pre-commit hook.

gorpc - Simple, fast and scalable golang rpc library for high load

  •    Go

Simple, fast and scalable golang RPC library for high load and microservices.It minimizes the number of connect() syscalls by pipelining request and response messages over a single connection.

go-peerflix - Go Peerflix

  •    Go

A Golang port of peerflix.Download the binary from the releases page.

krakend - Ultra performant API Gateway with middlewares

  •    Go

Consumers of REST API content (specially in microservices) often query backend services that weren't coded for the UI implementation. This is of course a good practice, but the UI consumers need to do implementations that suffer a lot of complexity and burden with the sizes of their microservices responses.KrakenD is an API Gateway builder and proxy generator that sits between the client and all the source servers, adding a new layer that removes all the complexity to the clients, providing them only the information that the UI needs. KrakenD acts as an aggregator of many sources into single endpoints and allows you to group, wrap, transform and shrink responses. Additionally it supports a myriad of middelwares and plugins that allow you to extend the functionality, such as adding Oauth authorization or security layers.

drmaa - Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard

  •    Go

This is a job submission library for Go (#golang) which is compatible to the DRMAA standard. The Go library is a wrapper around the DRMAA C library implementation provided by many distributed resource managers (cluster schedulers).The library was developed using Univa Grid Engine's libdrmaa.so. It was tested with Grid Engine and Torque, but it should work also other resource manager / cluster scheduler.

digota - ecommerce microservice

  •    Go

Digota is ecommerce microservice built to be the modern standard for ecommerce systems.It is based on grpc,protocol-buffers and http2 provides clean, powerful and secured RPC interface.Our Goal is to provide the best technology that covers most of the ecommerce flows, just focus of your business logic and not on the ecommerce logic.

celeriac

  •    Go

Golang client library for adding support for interacting and monitoring Celery workers and tasks.It provides functionality to place tasks on the task queue, as well as monitor task and worker events.

sleuth - A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services

  •    Go

sleuth is a Go library that provides master-less peer-to-peer autodiscovery and RPC between HTTP services that reside on the same network. It works with minimal configuration and provides a mechanism to join a local network both as a client that offers no services and as any service that speaks HTTP. Its primary use case is for microservices on the same network that make calls to one another.sleuth is dependent on libzmq, which can be installed either from source or from binaries. For more information, please refer to ØMQ: "Get the Software" or the libzmq repository.

flowgraph - Ready-send coordination layer on top of goroutines.

  •    Go

Go (Golang) offers direct support for concurrent programming with goroutines, channels, and the select statement. Used together they offer all the building blocks necessary for programming across many cores and many Unix boxes. But so much is possible with goroutines that constructing scaleable and reliable systems (that won't deadlock or be throttled by bottlenecks) requires the application or invention of additional concepts.Flowgraphs are a distinct model of concurrent programming that augment channels with ready-send handshake mechanisms to ensure that no data is sent before the receiver is ready. MPI (a framework for supercomputer computation) directly supports flowgraph computation, but doesn't address flow-based computation within a single Unix process. Go with its goroutines (more efficient than threads according to Rob Pike) facilitates taking the MPI model down to whatever granularity the concurrent programmer wants.

nkn-client-js - JavaScript implementation of NKN client

  •    Javascript

JavaScript implementation of NKN client. Send and receive data between any NKN clients without setting up a server.