All Projects → dalonghahaha → Asgard

dalonghahaha / Asgard

Licence: mit
Asgarde Framework

Programming Languages

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

Labels

Projects that are alternatives of or similar to Asgard

Ginrpc
gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具
Stars: ✭ 157 (+13.77%)
Mutual labels:  grpc, gin
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+149.28%)
Mutual labels:  grpc, gin
Book
《Go 语言编程之旅:一起用 Go 做项目》本书涵盖细分为 5 + 1 板块,分别是命令行、HTTP、RPC、Websocket 应用、进程内缓存以及 Go 语言中的大杀器。
Stars: ✭ 167 (+21.01%)
Mutual labels:  grpc, gin
Gowebsocket
golang基于websocket单台机器支持百万连接分布式聊天(IM)系统
Stars: ✭ 937 (+578.99%)
Mutual labels:  grpc, gin
gogrpcgin
golang grpc gin
Stars: ✭ 33 (-76.09%)
Mutual labels:  grpc, gin
Ultimate Go
This repo contains my notes on working with Go and computer systems.
Stars: ✭ 1,530 (+1008.7%)
Mutual labels:  grpc, gin
Protoeasy Go
Simpler usage of protoc. Deprecated.
Stars: ✭ 129 (-6.52%)
Mutual labels:  grpc
Flatsharp
Fast, idiomatic C# implementation of Flatbuffers
Stars: ✭ 133 (-3.62%)
Mutual labels:  grpc
Go Http Metrics
Go modular http middleware to measure HTTP requests independent of metrics backend (with Prometheus and OpenCensus as backend implementations) and http framework/library
Stars: ✭ 128 (-7.25%)
Mutual labels:  gin
Go Proto Gql
Protobuff plugins for generating graphql schema and golang to graphql bindings. Also supports a graphql gateway (Alpha)
Stars: ✭ 127 (-7.97%)
Mutual labels:  grpc
Grpcui
An interactive web UI for gRPC, along the lines of postman
Stars: ✭ 2,490 (+1704.35%)
Mutual labels:  grpc
Gin Rtsp
基于Gin + WebSocket + JSMpeg,在HTML页面上直接播放RTSP视频流。
Stars: ✭ 136 (-1.45%)
Mutual labels:  gin
Mtproto
Telegram MTProto and its proxy (over gRPC) in Go (golang). API Layer: 71
Stars: ✭ 133 (-3.62%)
Mutual labels:  grpc
Almost Famous
🌟 Almost-Famous(成名之路) ——卡牌游戏开源项目,架构使用SpringBoot+Netty+Maven+SpringCloud来搭建多进程分布式框架,包括Cloud、Unique、Login、Game、Match、Battle 等服务。
Stars: ✭ 131 (-5.07%)
Mutual labels:  grpc
Abp.grpc
基于 ABP 框架开发的 Grpc 模块,支持 Consul 服务发现与服务注册。Grpc module developed based on ABP framework supports early service discovery and service registration.
Stars: ✭ 134 (-2.9%)
Mutual labels:  grpc
Mix
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server
Stars: ✭ 1,753 (+1170.29%)
Mutual labels:  grpc
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 1,829 (+1225.36%)
Mutual labels:  grpc
Go Grpc
A collection of gRPC and Go examples showcasing features of the framework
Stars: ✭ 127 (-7.97%)
Mutual labels:  grpc
Sea
rpc framework built on grpc
Stars: ✭ 132 (-4.35%)
Mutual labels:  grpc
Gin Jwt
JWT Middleware for Gin framework
Stars: ✭ 1,957 (+1318.12%)
Mutual labels:  gin

Asgard

简介

Asgard是设计用于综合解决常驻进程应用、计划任务、定时任务的分布式作业管理系统。

架构设计

架构设计图

  • Asgard系统由web节点、master节点、agent节点组成。
  • web节点主要功能包括实例管理、分组管理、作业配置、作业运行状态控制、作业运行状态查看、日志查询
  • master节点负责agent节点的状态监测,同时接收并转存agent节点上报的运行时数据
  • agent节点接收web节点的指令在相应的服务器中运作相关作业
  • master节点和agent节点之间通过grpc协议交换数据

Web界面预览

首页控制台

实例管理

任务管理

监控信息

指令作用

Asgard guard

启动为管理单机系统常驻进程应用守护服务,类似supervisor

Asgard guard status

查看单机常驻进程应用列表

Asgard guard show xxxxxx

查看单机常驻进程应用xxxxxx信息

Asgard cron

启动为管理单机系统的计划任务守护服务,类似crontab

Asgard cron status

查看单机计划任务列表

Asgard cron show xxxxxx

查看单机计划任务xxxxxx信息

Asgard web

启动为web节点

Asgard msater

启动为master节点

Asgard agent

启动为agent节点

Asgard agent status

查看agent节点运行的常驻进程应用、计划任务、定时任务综合信息

部署及配置说明

运行scripts/Asgard.sql初始化mysql数据表。monitors数据表按月分表,格式"monitors_202006",需要提前创建。

初始登录名:admin,初始密码:123456

web节点、master节点、agent节点都需要一个名为app.yaml的配置文件。

默认读取运行目录下名为conf的目录,如果需要指向配置文件的目录可以在启动命令中通过conf参数指定。

启动web节点需要用到web目录中的assetsviews两部分静态资源

web节点配置项示例及说明

web:
    port: 12345                         #web节点监听端口
    domain: "asgard.dalong.me"          #web节点域名
    cookie_salt: "sdswqeqx"             #web节点身份验证加密值(必须为8位字符串)
component:
    db:
        asgard:                         #mysql数据库配置
            host: "127.0.0.1"           #mysql数据库地址
            port: 3306                  #mysql数据库端口
            user: "xxxxxx"              #mysql数据库用户名
            password: "xxxxxx"          #mysql数据库密码
            database: "Asgard"          #mysql数据库库名
    redis:                              #redis配置
        asgard:
            host: "127.0.0.1"           #redis地址
            port: 6379                  #redis端口号
            password: ""                #redis密码
            db: 0                       #redis库索引
    log:                                #日志配置
        console: true                   #是否输出到控制台
        level: "debug"                  #日志级别
        dir: "runtime/"                 #日志存放根目录

单节点master节点配置项示例及说明

master:
    port: 9527                          #master节点监听端口
component:
    db:
        asgard:                         #mysql数据库配置
            host: "127.0.0.1"           #mysql数据库地址
            port: 3306                  #mysql数据库端口
            user: "xxxxxx"              #mysql数据库用户名
            password: "xxxxxx"          #mysql数据库密码
            database: "Asgard"          #mysql数据库库名
    redis:                              #redis配置
        asgard:
            host: "127.0.0.1"           #redis地址
            port: 6379                  #redis端口号
            password: ""                #redis密码
            db: 0                       #redis库索引
    log:                                #日志配置
        console: true                   #是否输出到控制台
        level: "debug"                  #日志级别
        dir: "runtime/"                 #日志存放根目录

单节点agent节点配置项示例及说明

agent:
    moniter: 10                         #监控指标上报周期,单位秒
    master:
        ip: "127.0.0.1"                 #master节点地址
        port: 9527                      #master节点端口
    rpc:
        ip: "127.0.0.1"                 #agent节点地址
        port: 27149                     #agent节点端口
component:
    log:                                #日志配置
        console: true                   #是否输出到控制台
        level: "debug"                  #日志级别
        dir: "runtime/"                 #日志存放根目录

高可用master节点配置项示例及说明

master:
    port: 9527                          #master节点监听端口
    cluster: true                       #标记启用集群模式
    cluster_registry:                   #etcd集群节点列表
        - "127.0.0.1:2379"
    cluster_name: "asgard"              #集群名称
    cluster_id: "master-1"              #集群节点ID
    cluster_ip: "127.0.0.1"             #集群节点IP
component:
    db:
        asgard:                         #mysql数据库配置
            host: "127.0.0.1"           #mysql数据库地址
            port: 3306                  #mysql数据库端口
            user: "xxxxxx"              #mysql数据库用户名
            password: "xxxxxx"          #mysql数据库密码
            database: "Asgard"          #mysql数据库库名
    redis:                              #redis配置
        asgard:
            host: "127.0.0.1"           #redis地址
            port: 6379                  #redis端口号
            password: ""                #redis密码
            db: 0                       #redis库索引
    log:                                #日志配置
        console: true                   #是否输出到控制台
        level: "debug"                  #日志级别
        dir: "runtime/"                 #日志存放根目录

高可用agent节点配置项示例及说明

agent:
    moniter: 10                         #监控指标上报周期,单位秒
    master:
        cluster: true                   #标记启用集群模式
        cluster_registry:               #etcd集群节点列表
            - "127.0.0.1:2379"
        cluster_name: "asgard"          #集群名称
    rpc:
        ip: "127.0.0.1"                 #agent节点地址
        port: 27149                     #agent节点端口
component:
    log:                                #日志配置
        console: true                   #是否输出到控制台
        level: "debug"                  #日志级别
        dir: "runtime/"                 #日志存放根目录
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].