roc

command module
v1.1.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

README ΒΆ

Roc

logo

GitHub Workflow Status Go Report Card Go Reference GitHub GitHub release (latest SemVer including pre-releases)

πŸ‘‹ Roc is a rpc micro framework,it designed with go,and transport protocol by rsocket-go.


IT IS UNDER ACTIVE DEVELOPMENT, APIs are unstable and maybe change at any time until release of v1.0.0.

πŸ‘€ Features
  • Simple to use ✨
  • Lightweight ✨
  • High performance ✨
  • Service discovery ✨
  • Support websocket and socket same time ✨
  • Support json or gogo proto when use rpc ✨
🌱 Quick start
  • first you must install proto and etcd

  • install protoc-gen-roc

    GO111MODULE=on go get github.com/go-roc/roc/cmd/protoc-gen-roc
    protoc --roc_out = plugins = roc:.*.proto
  • run a roc service
package main

import (
    "tutorials/app/api/api.hello/say"
    "tutorials/proto/phello"
    "github.com/go-roc/roc/service"
)

func main() {
    s := service.New(
        service.HttpAddress("0.0.0.0:9999"),
        service.Namespace("api.hello"),
        service.TCPAddress("0.0.0.0:8888"),
        service.WssAddress("0.0.0.0:10000", "/hello"),
    )

    phello.RegisterHelloServer(s.Server(), &say.Say{})
    _ = s.Run()
}
  • config help
package main

import (
    "fmt"
    "github.com/go-roc/roc/config"
)

//put key/value to etcd:
//go:generate etcdctl put  configroc/v1.0.0/public/roc.test "{ "name":"roc", "age":18 }"
func main() {
    //new config use default option
    config.NewConfig()

    var result struct {
        Name string `json:"name"`
        Age  int    `json:"age"`
    }

    _ = config.DecodePublic("test", v)
}

πŸ’žοΈ see more example for more help.
πŸ“« How to reach me and be a contributor ...
✨ TODO ✨
  • broadcast
  • topic publish/subscript
  • sidecar
  • more example
  • more singleton tests
  • generate dir
  • command for request service
  • sidecar service
  • config service
  • broker redirect request service
  • logger service
  • simple service GUI

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
_auxiliary
cmd
roc
roc/rocx
Package rocx enable project default generator
Package rocx enable project default generator
internal
sig
metadata
Package metadata for websocket or socket from rsocket-rpc-go Metadata
Package metadata for websocket or socket from rsocket-rpc-go Metadata
plugins
log
opt
x
fs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL