Git Product home page Git Product logo

base's Introduction

base是一个小而美的业务基础框架,它使用graphql作为api通信协议基础。然后提供了一些可以直接使用的后端存储服务。

开发文档 演示环境
开发手册 demo

tiny-base

基础特性

  1. 只支持graphql协议通信;提供了graphql-ui;UI即接口。并提供了一些与该协议进行数据转化的API列表;
  2. 提供数据访问层DAL,使用upper/db库,该库支持:PostgreSQL, MySQL, SQLite, MSSQL, QL and MongoDB;
  3. 提供了redis、消息队列、db和配置服务的初始化实例;
  4. 支持配置服务的自动watch,并实时更新; 支持基于dns的服务发现;
  5. 支持jaeger trace跟踪;支持错误码注册;支持rabbitmq消息队列消费和生产
  6. 支持自定义时间规则切割文件,比如:年/月/日/时/分
  7. 支持微服务之间的rpc调用和数据解析
  8. 轻易支持立即容器化

目录结构

.
├── README.md
├── bindata_assetfs.go
├── cmd/
├── context.go
├── graphql.go
├── graphql_test.go
├── handler.go
├── middlewares.go
├── pkg/
└── plugins/
  1. cmd目录用于提供对cache, db, discovery和mq服务的client初始化,且不用关心连接释放等问题, 且默认初始化discovery client连接;
  2. pkg目录提供了环境变量、日志、消息队列、rpc、系统时间、tracing、types(token, user服务定义),以及常用的utils包
  3. graphql提供了一些gateway的底层调用,graphql的解析、以及与go的类型互相转换(包括:枚举,字符串、时间等);
  4. 提供了基于martini的路由插件,以及处理graphql请求的方法,并支持graphql返回结果的自定义。
  5. 提供了访问流控和签名两个服务的api。

使用方式

服务列表

服务名 服务地址 用户名 密码
zkui zkui admin manager
gateway demo-dev - -

环境变量

名称 描述
APP_ZK 39.96.95.220:2181 配置中心地址
APP_NAME demo 产品名称
APP_LOG log绝对路径 默认:/var/log/app
APP_ENV 部署环境 (本地环境、开发、测试和生产)
APP_VERSION 产品版本 默认: v1.0
APP_TRACER_AGENT jaeger agent地址 默认值: 0.0.0.0:6831

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.