vodka

package module
v0.0.0-...-aafc065 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2020 License: MIT Imports: 3 Imported by: 0

README

Vodka MicroServices Framework

轻量级可扩展微服务框架
  • 服务注册
  • 服务发现
  • 负载均衡
  • 健康检测
  • GRPC整合
  • 自动化代码生成 (重新设计)
  • middleware设计
  • Prometheus监控设计
  • 配置文件集成
  • 限流middleware
  • 分布式追踪middleware
依赖
  • Sonyflake (分布式ID)
  • ETCD (持久化)
  • Redis (持久化)
  • json-iterator (json序列化)
  • grpc (通讯)
  • easylog (日志库)
注册中心

采用插件式开发 内部实现了2种插件 etcd,redis

负载均衡
  • 随机
  • 轮询
  • 加权
    • 加权随机
    • 加权轮询
  • 一致性hash
脚手架
  • 目录规范 (包管理 按照官方GO MOD)
controller: 存在服务的方法实现
idl: 存放服务的idl定义
main: 存放服务的入口代码
scripts: 存放服务的脚本
conf: 存放服务的配置文件
router: 存放服务的路由
app/config: 存放服务的一些配置
datamodels: 存放服务的实体代码
generate: grpc生成的代码

core 下的代码都是自动生成的   用于核心调度
core/router 自动生成路由代码
  • 命令行参数设计
    • -f 指定idl文件
    • -o 指定代码生成路径
    • -c 指定客户端调用代码
    • -s 指定服务端调用代码

Documentation

Overview

* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 14:58

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New() *vodka

Types

This section is empty.

Directories

Path Synopsis
cli
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 10:57 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 10:58 * *@program: vodka *@description: router 核心部件生成 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 19:56 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 19:57 * * @Author: DollarKillerX * @Description: dir_generator 目录生成工具 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:41 2020/1/6 * * @Author: DollarKillerX * @Description: generator_mgr 生产插件管理 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:07 2020/1/6 * * @Author: DollarKillerX * @Description: grpc_generator.go * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:04 2020/1/6 * * @Author: DollarKillerX * @Description: 初始化grpc基本信息 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:45 2020/1/6 * * @Author: DollarKillerX * @Description: cli interface * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:41 2020/1/6 * * @Author: DollarKillerX * @Description: main * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:26 2020/1/6 * *@program: vodka *@description: grpc main生成器 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 09:23 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 09:30 * * @Author: DollarKillerX * @Description: options 命令行参数 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:42 2020/1/6 * *@program: vodka *@description: prometheus generator *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 15:33 * *@program: vodka *@description: prometheus base template *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 15:33 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 17:06 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 18:02
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 10:57 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 10:58 * *@program: vodka *@description: router 核心部件生成 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 19:56 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 19:57 * * @Author: DollarKillerX * @Description: dir_generator 目录生成工具 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:41 2020/1/6 * * @Author: DollarKillerX * @Description: generator_mgr 生产插件管理 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:07 2020/1/6 * * @Author: DollarKillerX * @Description: grpc_generator.go * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:04 2020/1/6 * * @Author: DollarKillerX * @Description: 初始化grpc基本信息 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:45 2020/1/6 * * @Author: DollarKillerX * @Description: cli interface * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:41 2020/1/6 * * @Author: DollarKillerX * @Description: main * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:26 2020/1/6 * *@program: vodka *@description: grpc main生成器 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 09:23 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 09:30 * * @Author: DollarKillerX * @Description: options 命令行参数 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午2:42 2020/1/6 * *@program: vodka *@description: prometheus generator *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 15:33 * *@program: vodka *@description: prometheus base template *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 15:33 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 17:06 * *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-06 18:02
test/grpc_test/client command
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 16:41
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 16:41
test/grpc_test/server command
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 16:39
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 16:39
test/prometheus_test command
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 13:03
* *@program: vodka *@description: https://github.com/dollarkillerx *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-07 13:03
* * @Author: DollarKillerX * @Description: loadbalance 负载均衡器 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:23 2020/1/4 * * @Author: DollarKillerX * @Description: polling 轮询负载均衡 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:31 2020/1/4 * * @Author: DollarKillerX * @Description: random 随机负载器 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:26 2020/1/4 * * @Author: DollarKillerX * @Description: weighted_polling 加权轮询 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:01 2020/1/4 * * @Author: DollarKillerX * @Description: weighted_random 加权随机 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:48 2020/1/4
* * @Author: DollarKillerX * @Description: loadbalance 负载均衡器 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:23 2020/1/4 * * @Author: DollarKillerX * @Description: polling 轮询负载均衡 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:31 2020/1/4 * * @Author: DollarKillerX * @Description: random 随机负载器 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:26 2020/1/4 * * @Author: DollarKillerX * @Description: weighted_polling 加权轮询 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:01 2020/1/4 * * @Author: DollarKillerX * @Description: weighted_random 加权随机 * @Github: https://github.com/dollarkillerx * @Date: Create in 下午3:48 2020/1/4
* *@program: vodka *@description: prometheus 中间件 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 14:28
* *@program: vodka *@description: prometheus 中间件 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 14:28
* * @Author: DollarKillerX * @Description: options 注册中心选项 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: plugin_mar 多注册中心管理 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: registry 服务注册插件定义 用于规范注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: service 服务定义 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3
* * @Author: DollarKillerX * @Description: options 注册中心选项 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: plugin_mar 多注册中心管理 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: registry 服务注册插件定义 用于规范注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3 * * @Author: DollarKillerX * @Description: service 服务定义 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:26 2020/1/3
etcd
* * @Author: DollarKillerX * @Description: etcd 注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午11:34 2020/1/3
* * @Author: DollarKillerX * @Description: etcd 注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午11:34 2020/1/3
redis
* * @Author: DollarKillerX * @Description: redis 注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:01 2020/1/4
* * @Author: DollarKillerX * @Description: redis 注册中心 * @Github: https://github.com/dollarkillerx * @Date: Create in 上午10:01 2020/1/4
* *@program: vodka *@description: 配置文件解析 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 20:31
* *@program: vodka *@description: 配置文件解析 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 20:31
* *@program: vodka *@description: file处理相关 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 17:29 * * @Author: DollarKillerX * @Description: jsoniter * @Github: https://github.com/dollarkillerx * @Date: Create in 下午5:20 2020/1/3 * * @Author: DollarKillerX * @Description: sonyflake 感谢sony公司提供伟大的分布锁id * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:51 2020/1/3
* *@program: vodka *@description: file处理相关 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-05 17:29 * * @Author: DollarKillerX * @Description: jsoniter * @Github: https://github.com/dollarkillerx * @Date: Create in 下午5:20 2020/1/3 * * @Author: DollarKillerX * @Description: sonyflake 感谢sony公司提供伟大的分布锁id * @Github: https://github.com/dollarkillerx * @Date: Create in 下午4:51 2020/1/3
env
* *@program: vodka *@description: env相关 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 20:19
* *@program: vodka *@description: env相关 *@author: dollarkiller [dollarkiller@dollarkiller.com] *@create: 2020-03-13 20:19

Jump to

Keyboard shortcuts

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