rivet

package module
v0.0.0-...-796898b Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2019 License: Apache-2.0 Imports: 19 Imported by: 0

README

rivet GoDoc FOSSA Status GitHub

Go Report Card Codacy Badge Travis (.org) CircleCI (all branches) Coveralls github

rivet提供一套用于go开发的微服务解决方案,包括网关、负载均衡、熔断降级、请求转发等功能,目前支持consul作为第三方服务发现组件。除此外也基于第三方开源框架做了简单的封装,如Http/Https、MySQL数据库以及一些常用的工具方法。 在examples中有上述相关组件和实现的Demo。

组件信息

Bow 网关服务
docker Docker Cloud Automated build Docker Cloud Build Status Docker Pulls
Shunt 负载均衡
docker Docker Cloud Automated build Docker Cloud Build Status Docker Pulls

Documentation

Overview

Package rivet implements micro service components for Go development

Source code and other details for the project are available at GitHub:

https://github.com/ennoo/rivet

Index

Constants

View Source
const Version = "0.1"

Version rivet version

Variables

View Source
var (

	// Keepers websocket 对象集合
	Keepers []*keeps.Keeper
)

Functions

func Bow

func Bow() *bow.Bow

Bow 提供实例化调用路由,并内置返回策略

func Health

func Health(engine *gin.Engine)

Health 健康检查服务路由

func Initialize

func Initialize(healthCheck, serverManager, loadBalance, dev bool)

Initialize rivet 初始化方法,必须最先调用

bow:是否开启网关路由

healthCheck:是否开启健康检查。开启后为 Get 请求,路径为 /health/check

serverManager:是否开启外界服务管理功能

loadBalance:是否开启负载均衡

func ListenAndServe

func ListenAndServe(listenServe *ListenServe, caCertPaths ...string)

ListenAndServe 开始启用 rivet

listenServe 启动监听端口服务对象

caCertPaths 作为客户端发起 HTTPS 请求时所需客户端证书路径数组

func ListenAndServeTLS

func ListenAndServeTLS(listenServe *ListenServe, caCertPaths ...string)

ListenAndServeTLS 开始启用 rivet

listenServe 启动监听端口服务对象

caCertPaths 作为客户端发起 HTTPS 请求时所需客户端证书路径数组

func ListenAndServes

func ListenAndServes(listenServe *ListenServe, caCertPaths []string)

ListenAndServes 开始启用 rivet

listenServe 启动监听端口服务对象

caCertPaths 作为客户端发起 HTTPS 请求时所需客户端证书路径数组

func ListenAndServesTLS

func ListenAndServesTLS(listenServe *ListenServe, caCertPaths []string)

ListenAndServesTLS 开始启用 rivet

listenServe 启动监听端口服务对象

caCertPaths 作为客户端发起 HTTPS 请求时所需客户端证书路径数组

func Log

func Log() *log.Logger

Log 提供日志调用入口

func Request

func Request() *request.Request

Request 提供实例化调用请求方法,并内置返回策略

func Response

func Response() *response.Response

Response 提供实例化调用 Do 方法,并内置返回策略

func SQL

func SQL() *sql.SQL

SQL 提供实例化调用数据库连接对象

func ServiceID

func ServiceID() string

ServiceID 服务唯一 id

func ServiceName

func ServiceName() string

ServiceName 自身服务唯一名称

func SetupRouter

func SetupRouter(routes ...func(router *response.Router)) *gin.Engine

SetupRouter 设置路由器相关选项

func Shunt

func Shunt() *shunt.Shunt

Shunt 提供负载调用入口

func UseBow

func UseBow(filter func(result *response.Result) bool)

UseBow 开启网关路由

filter 自定义过滤方案

func UseDiscovery

func UseDiscovery(component, url, serviceName, hostname string, port int)

UseDiscovery 启用指定的发现服务

component:启用的发现服务组件类型

url:consul 等发现服务注册地址,包括端口号(优先通过环境变量 CONSUL_URL 获取)

serviceName:注册到发现服务的服务名称(优先通过环境变量 SERVICE_NAME 获取)

hostname:注册到发现服务的服务地址(如果为空,则尝试通过 /etc/hostname 获取)

port:注册到 consul 的服务端口(优先通过环境变量 PORT 获取)

func WS

func WS(router *response.Router)

WS websocket 启动

Types

type ListenServe

type ListenServe struct {
	Engine *gin.Engine
	// defaultPort 默认启用端口号,优先通过环境变量 PORT 获取
	DefaultPort string
	// connectTimeout 拨号等待连接完成的最长时间,TCP超时的时间一般在3s,默认3s
	ConnectTimeout time.Duration
	// keepAlive 指定保持活动网络连接的时间,如果为0,则不启用keep-alive,默认30s
	KeepAlive time.Duration

	// TLS 服务端私钥
	CertFile string
	// TLS 服务端的数字证书
	KeyFile string
}

ListenServe 启动监听端口服务对象

Directories

Path Synopsis
bow
Package bow 网关服务包
Package bow 网关服务包
consul
Package consul 支持包
Package consul 支持包
examples
yml
Package scheduled 定时服务包
Package scheduled 定时服务包
Package server 路由、负载、监听外部服务包
Package server 路由、负载、监听外部服务包
Package shunt 负载服务包
Package shunt 负载服务包
request
Package request 请求接受处理包
Package request 请求接受处理包
response
Package response 请求返回处理包
Package response 请求返回处理包
utils
cmd
env
Package env 环境变量工具
Package env 环境变量工具
file
Package file 文件操作工具
Package file 文件操作工具
ip
Package ip ip工具
Package ip ip工具
jwt
Package jwt jwt操作工具
Package jwt jwt操作工具
log
Package log 日志操作工具
Package log 日志操作工具
slip
Package slip 自定义错误信息
Package slip 自定义错误信息
sql
Package sql SQL操作工具
Package sql SQL操作工具
string
Package str 字符串类型工具类
Package str 字符串类型工具类

Jump to

Keyboard shortcuts

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