sponge

package module
v1.3.18 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2023 License: MIT Imports: 0 Imported by: 0

README

sponge 中文

Go Report codecov Go Reference Go

sponge is a microservice framework and a tool for quickly creating web and microservice code. sponge has a rich set of generated code commands, generating a total of 12 different functional codes that can be combined into complete services (similar to a sponge that has been artificially broken up cells can be automatically reassembled into a new sponge). Microservice code functions include logging, service registration and discovery, registry, rate limit, circuit breaker, tracking, monitoring, pprof performance analysis, statistics, caching, CICD and more. The decoupled modular design makes it easy to build complete project code from development to deployment, making development in the go language more convenient, easy and efficient.


sponge generates the code framework

The generated code is based on three approaches Yaml, SQL and Protobuf, each possessing different functional code generation, and the framework diagram of the generated code is shown in Figure 1-1.

Figure 1-1 sponge generation code framework diagram


Microservices framework

The microservice code framework created by sponge is shown in Figure 1-2, this is a typical microservice hierarchy with high performance, high scalability, and includes common service governance features.

Figure 1-2 Microservices framework diagram


Online code generation demo

Online code generation demo: https://go-sponge.com/ui

💡 Warning.

Some of the generated code requires mysql account and password, do not try here to avoid the risk of being exposed. Server resources are limited and may not be available later. It is recommended to download the sponge binary and run the UI service to get the same generated code interface.


Installation

(1) install sponge

go install github.com/zhufuyi/sponge/cmd/sponge@latest

(2) install dependency plugins and tools

sponge init

If there is a dependency tool installation error(except protoc), execute the command to retry sponge tools --install


(3) install protoc

Download it from https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.3 and add the directory where the protoc file is located under system path.


💡 NOTICE:

If you are using windows environment, you need to install some additional dependency tools, see windows dependency tools for installation steps.


Quick start

Once you have installed sponge and the dependencies, you are ready to go, start the ui service from the command line:

sponge run

Visit http://localhost:24631 in your browser, 12 types of codes can be generated.


💡 If you don't want to use the UI interface, you can use the sponge command line to generate code. There is a wealth of examples in the command line helper information, and some of the code generation commands are more convenient than using the UI interface.


Documentation

sponge usage documentation


If it's useful to you, give it a star ⭐.


License

See the LICENSE file for licensing information.


Documentation

Overview

Package sponge is a microservice framework, a tool for quickly creating microservice code. sponge has a rich generating code commands, a total of 12 different functional code, these functional code can be combined into a complete service (similar to artificially broken sponge cells can be automatically reorganized into a new sponge ). Microservice code features include logging, service registration and discovery, registry, rate limit, circuit breaker, trace, metrics monitoring, pprof performance analysis, statistics, caching, CICD. The code uses a decoupled layered structure and it's easy to add or replace functional code. As an efficiency-enhancing tool, commonly repeated code is basically generated automatically and only business logic code needs to be populated based on the generated template code examples.

https://github.com/zhufuyi/sponge/blob/main/README.md

sponge -h
sponge a microservice framework, a tool for quickly creating microservice code.

Usage:
sponge [command]

Available Commands:
completion  Generate the autocompletion script for the specified shell
config         Generate go config codes from yaml file
help           Help about any command
init            Initialize sponge
micro        Generate proto, model, dao, service, rpc, rpc-gw, rpc-cli codes
tools         Managing sponge dependency tools
update      Update sponge to the latest version
web          Generate model, dao, handler, http codes

Directories

Path Synopsis
api
cmd
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
internal
dao
pkg
app
container/group
Package group provides a sample lazy load container.
Package group provides a sample lazy load container.
jwt

Jump to

Keyboard shortcuts

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