Coder Social home page Coder Social logo

apiserver's Introduction

apiserver

demo for jupiter

安装脚手架

export GO111MODULE=on && go get -u github.com/swaggo/swag/cmd/swag
go get -u github.com/douyu/jupiter/tools/jupiter

新建项目

jupiter new apiserver

项目目录结构:

build                           编译目录
cmd                             应用启动目录
config                          应用配置目录
internal
├─app                           应用目录
│  ├─engine                     
│  │  ├─engine.go               核心编排引擎(启动HTTP,GRPC,JOB等服务)
│  ├─grpc                       grpc服务实现目录
│  ├─handler                    控制器目录接收用户请求)              
│  │  ├─user.go                 控制器文件
│  ├─model                      model目录定义持久层结构体)
│  │  ├─db
│  │  │  ├─user.go
│  │  ├─init.go                 初始化全局数据库句柄
│  ├─service                    service层
│  │  ├─user                    模块
│  │  │  ├─impl  
│  │  │  │  ├─mysqlImpl.go      实现
│  │  │  ├─repository.go        service 接口
│  │  ├─init.go
pb                              proto文件
sql                             sql脚本
.gitignore
go.mod
Makefile

参考代码和文章

接口文档

make run  
# 访问 http://localhost:8080/swagger/index.html

测试脚本

wrktest.sh

远程配置

关于接入Juno

  • 安装�Juno
  • 启动apiserver,注意这边需要配置环境变量APP_NAME为apiserver,否则程序名字为main
  • 在页面上添加应用,应用名字很关键,这边是apiserver。
  • 关联apiserver和juno-agent
    • 这个时候juno-agent会去etcd获取apiserver的信息,然后写入promethus的配置路径(基于文件的动态获取抓取目标)
    • 这种配置也就说明juno-agent和prometheus要一对一配置
  • 顺利的情况下面我们可以在juno-admin上看到grafana的监控项了

Todo

  • 接入Juno
  • Repository接口实现
  • GRPC接口实现
  • 远程配置
  • 服务注册

apiserver's People

Contributors

feixiao avatar jootm2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.