NewSQL distributed storage database based on micro service framework

QLite [English Document]

QLite 是基于微服务的 NewSQL 型数据库系统,与传统的一体化数据库不同,该系统将本该内置的多种数据结构(STL)拆分成多个服务模块,每个模块都是独立的一个节点,每个节点都与其主网关进行连接,从而形成分布式存储结构。

QLite 主要存储方式为KV存储,主网关内置Hash结构,如同关系型数据报表,可存储已加载(连接)至主网关的所有数据结构。

Hash结构可以存储Hash本身。这就导致QLite 数据库可以像文件夹一样进行树状查找及存储操作。

该系统配有轻量级 QLite - STL 开发框架,可以将自己编写的数据结构与QLite进行连接,具有高扩展性,但目前该框架只支持Go语言,具体见 go-qlite

Background

QLite 在发布至GitHub前已经经历了两个版本,分别是TCP版和集成版,效果皆不是很理想,该版本为分布式版本,采用HTTP作为接口交互协议,将信息处理完全交给了应用层,在损失了一定的性能的前提下提高了扩展性和复用性,更方便从业人员进行数据处理。

Change Log

V 2.1.2

  • 优化了服务连接模块
  • 当网关关闭时会自动清空其他服务模块的缓存数据,防止再次开启时垃圾数据过多的情况

V 2.1.1

  • 解决了服务模块重连失败但未报错的BUG
  • 优化了网关启动时服务连接操作,将连接失败时是否重连的选择权交给了使用者,而不是直接取消启动

V 2.0.2

  • 优化了优雅关闭服务(Ctrl+C),解决关闭服务时数据不能及时存储至本地的BUG
  • 优化了版本信息

Feature

  • 插件化集成:一种数据结构为一个模块,可随意注册至网关
  • 提供Go语言版本的STL开发框架,可进行自定义开发
  • 将Hash结构作为网关内置结构,等同于操作系统中的文件夹
  • 存储模式选用KV型存储方案,在Hash结构的支持下,使数据间的关系不再混乱。

Architecture

Install

linux-amd64-latest

linux-arm64-latest

windows-2.0.1-BETA

Usage

windows
qlite.exe -f [yaml path]
linux
chmod 777 qlite
./qlite -f [yaml path]

[click to download yaml file]

Related Efforts

快速开始

API文档

作者有话说

这个项目目前处于测试阶段,BUG肯定是有的,优化的方面也肯定有很多,希望感兴趣的兄弟们可以一起完善这个项目。如果您有更好的点子可以反馈给我,我会及时查阅的。

Similar Resources

a microservice framework for rapid development of micro services in Go with rich eco-system

a microservice framework for rapid development of micro services in Go with rich eco-system

中文版README Go-Chassis is a microservice framework for rapid development of microservices in Go. it focus on helping developer to deliver cloud native a

Dec 27, 2022

Fastglue is an opinionated, bare bones wrapper that glues together fasthttp and fasthttprouter to act as a micro HTTP framework.

fastglue Overview fastglue is an opinionated, bare bones wrapper that glues together fasthttp and fasthttprouter to act as a micro HTTP framework. It

Jun 14, 2022

😈 Simple micro-front-end framework.

😈 Simple micro-front-end framework.

Development and Maintenance Status RancherOS 1.x is no longer being actively maintained. There are two significant reasons behind this product decisio

Jan 5, 2022

A code generator that turns plain old Go services into RPC-enabled (micro)services with robust HTTP APIs.

Frodo is a code generator and runtime library that helps you write RPC-enabled (micro) services and APIs.

Dec 16, 2022

Micro is a platform for cloud native development

Micro is a platform for cloud native development

Micro Overview Micro addresses the key requirements for building services in the cloud. It leverages the microservices architecture pattern and provid

Dec 29, 2022

goTempM is a full stack Golang microservices sample application built on top of the Micro platform.

goTempM is a full stack Golang microservices sample application built on top of the Micro platform.

goTempM is a full stack Golang microservices sample application built on top of the Micro platform.

Sep 24, 2022

微服务架构-micro-基于go-zero zrpc etcd 单独集成orm-gorm 日志-uber/zap

micro目录结构 pkg ├── api 业务接口逻辑层 所有的业务逻辑存放目录。 │ ├── model 数据模型 数据管理层,仅用于操作管理数据,如数据库操作 ├── assets

Jul 12, 2022

A Micro-UTP, plug-able sanity checker for any on-prem JFrog platform instance

hello-frog About this plugin This plugin is a template and a functioning example for a basic JFrog CLI plugin. This README shows the expected structur

Dec 7, 2021

Go micro frame cli tool

go-micro-frame cli tool install git clone [email protected]:jettjia/go-micro-frame-cli.git cd go-micro-frame-cli go build -ldflags "-w -s" -o go-micro-f

Sep 19, 2022
Related tags
Rpcx-framework - An RPC microservices framework based on rpcx, simple and easy to use, ultra fast and efficient, powerful, service discovery, service governance, service layering, version control, routing label registration.

RPCX Framework An RPC microservices framework based on rpcx. Features: simple and easy to use, ultra fast and efficient, powerful, service discovery,

Jan 5, 2022
🦄🌈 YoyoGo is a simple, light and fast , dependency injection based micro-service framework written in Go.
🦄🌈 YoyoGo is a simple, light and fast , dependency injection based micro-service framework written in Go.

???? YoyoGo is a simple, light and fast , dependency injection based micro-service framework written in Go. Support Nacos ,Consoul ,Etcd ,Eureka ,kubernetes.

Jan 4, 2023
Go Micro is a framework for distributed systems development

Go Micro Go Micro is a framework for distributed systems development. Overview Go Micro provides the core requirements for distributed systems develop

Jan 3, 2023
Micro-service framework in Go
Micro-service framework in Go

Kite Micro-Service Framework Kite is a framework for developing micro-services in Go. Kite is both the name of the framework and the micro-service tha

Jan 9, 2023
Another excellent micro service framework

xservice [WIP] Another excellent micro service framework Features RESTful API (base on echo/v4) gRPC & gRPC gateway service & Swagger document generat

May 28, 2022
Go Micro: a standard library for distributed systems development

Go Micro Go Micro is a standard library for distributed systems development. Ove

Oct 4, 2022
Automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio.
Automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio.

Mesh RPC MeshRPC provides automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio. In a nutshell

Aug 22, 2022
White Matrix Micro Service Generate CLI Tool

micro-service-gen-tool White Matrix Micro Service Generate CLI Tool usage templa

Jan 5, 2022
Micro service frame
Micro service frame

MicroFrame MicroFrame是基于go-micro结合go的plugin(需要go1.8或以上)开发的一个微服务框架。 go-micro本身已经做了非常好的抽象和插件化。MicroFrame没有直接采用go-micro,而是在它的基础上重新开发有下面一些原因。 对纯粹的业务开发屏蔽掉掉

Nov 9, 2021
Zdpgo micro service inventory - Golang开发的库存微服务

zdpgo_micro_service_goods Golang开发的商品微服务service层 生成proto 安装插件 go install google.

Feb 3, 2022