All Projects → anycable → Anycable Go

anycable / Anycable Go

Licence: mit
Anycable Go WebSocket Server

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Anycable Go

Thingsboard
Open-source IoT Platform - Device management, data collection, processing and visualization.
Stars: ✭ 10,526 (+4398.29%)
Mutual labels:  grpc, websockets
Swell
Swell: API development tool that enables developers to test endpoints served over streaming technologies including Server-Sent Events (SSE), WebSockets, HTTP2, GraphQL, and gRPC.
Stars: ✭ 517 (+120.94%)
Mutual labels:  grpc, websockets
Sacrificial Socket
A Go websocket library with an API similar to Socket.IO... but not Socket.IO
Stars: ✭ 96 (-58.97%)
Mutual labels:  grpc, websockets
Multi V2ray
v2ray/xray多用户管理部署程序
Stars: ✭ 5,382 (+2200%)
Mutual labels:  websockets, grpc
Anycable
Polyglot replacement for Ruby WebSocket servers with Action Cable protocol
Stars: ✭ 1,610 (+588.03%)
Mutual labels:  grpc, websockets
Wok
A cherrypy framework for multi-purpose plug-ins
Stars: ✭ 215 (-8.12%)
Mutual labels:  websockets
Web Socket
Laravel library for asynchronously serving WebSockets.
Stars: ✭ 225 (-3.85%)
Mutual labels:  websockets
Arduinowebsockets
A library for writing modern websockets applications with Arduino (ESP8266 and ESP32)
Stars: ✭ 213 (-8.97%)
Mutual labels:  websockets
Clay
Proto-first minimal server platform for gRPС+REST+Swagger APIs
Stars: ✭ 212 (-9.4%)
Mutual labels:  grpc
Tributary
Streaming reactive and dataflow graphs in Python
Stars: ✭ 231 (-1.28%)
Mutual labels:  websockets
Nutz Book Project
做个平台
Stars: ✭ 228 (-2.56%)
Mutual labels:  websockets
Pike
Generate CRUD gRPC backends from single YAML description.
Stars: ✭ 222 (-5.13%)
Mutual labels:  grpc
Webwire Go
A transport independent asynchronous duplex messaging library for Go
Stars: ✭ 216 (-7.69%)
Mutual labels:  websockets
Postfacto
Self-hosted retro tool aimed at helping remote teams
Stars: ✭ 224 (-4.27%)
Mutual labels:  websockets
Isomorphic Ws
Isomorphic implementation of WebSocket (https://www.npmjs.com/package/ws)
Stars: ✭ 215 (-8.12%)
Mutual labels:  websockets
Websocket Client
WebSocket client for Python
Stars: ✭ 2,810 (+1100.85%)
Mutual labels:  websockets
Mu Haskell
Mu (μ) is a purely functional framework for building micro services.
Stars: ✭ 215 (-8.12%)
Mutual labels:  grpc
Grpc Over Webrtc
gRPC over WebRTC
Stars: ✭ 220 (-5.98%)
Mutual labels:  grpc
Django Sockpuppet
Build reactive applications with the django tooling you already know and love.
Stars: ✭ 225 (-3.85%)
Mutual labels:  websockets
Angular2 Websocket
Websocket wrapper for angular2 based on angular-websocket
Stars: ✭ 218 (-6.84%)
Mutual labels:  websockets

Build CircleCI Docker Gitter Documentation

AnyCable-Go WebSocket Server

WebSocket server for AnyCable.

Important This is a readme for the upcoming v1.0 release. For v0.6.x see the readme from the 0-6-stable branch.

Versioning

Important Use the same major version of AnyCable-Go as your AnyCable gem. AnyCable-Go uses the same major version number (and minor version as well for 0.x series) as other libraries to indicate the compatibility.

NOTE: AnyCable-Go v1.0 is backward-compatible with v0.6.x series (to allow incremental upgrades). The next minor relase (v1.1) will drop 0.6.x support.

Installation

The easiest way to install AnyCable-Go is to download a pre-compiled binary.

MacOS users could install it with Homebrew

brew install anycable-go

Arch Linux users can install anycable-go package from AUR.

Of course, you can install it from source too:

go get -u -f github.com/anycable/anycable-go/cmd/anycable-go

NOTE: right now it's not possible to build anycable-go with mruby support using the command above. To install anycable-go with mruby from source try:

go get -d -u -f github.com/anycable/anycable-go/cmd/anycable-go && (cd $GOPATH/src/github.com/anycable/anycable-go && make prepare-mruby install-with-mruby)

Upgrade

For instructions on how to upgrade to a newer version see upgrade notes.

Heroku

See heroku-anycable-go buildpack.

Usage

Run server:

$ anycable-go

=> INFO 2020-02-05T08:44:57.684Z context=main Starting AnyCable 1.0.0

You can also provide configuration parameters through the corresponding environment variables (i.e. ANYCABLE_RPC_HOST, ANYCABLE_REDIS_URL, etc).

For more information about available options run anycable-go -h.

📑 Documentation

Build

# first, prepare mruby (we embed it by default)
make prepare-mruby

# then build the Go binary (will be available in dist/anycable-go)
make

You can run tests with the following commands:

# Run Golang unit tests
make test

# run once
make prepare

# Run integrations tests
make test-conformance

We use golangci-lint to lint Go source code:

golangci-lint run

Docker

See available images here.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/anycable/anycable-go.

Please, provide reproduction script (using this template) when submitting bugs if possible.

License

The library is available as open source under the terms of the MIT License.

Security Contact

To report a security vulnerability, please contact us at [email protected]. We will coordinate the fix and disclosure.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].