
스폰지 는 강력한 Go 개발 프레임 워크입니다. 핵심 개념은 JSON , SQL 또는 Protobuf 파일을 구문 분석하여 리버스 엔지니어링 모듈 식 코드를 중심으로 진행됩니다. 생성 된 코드는 다양한 유형의 완전한 백엔드 서비스로 유연하고 원활하게 조립 될 수 있습니다 (스폰지 셀의 특성과 유사하며 분해 된 스폰지 셀이 자동으로 새로운 스폰지로 재조합 할 수 있음). Sponge는 코드 생성, 개발, 테스트, API 문서 및 배포를 다루는 프로젝트 개발을위한 올인원 솔루션을 제공하고 개발 효율성을 크게 향상시키고 복잡성을 줄이며 "저 코드 접근 방식"을 통해 고품질 프로젝트를 가능하게합니다.
Sponge는 다음을 포함하여 다양한 고성능 백엔드 서비스를 빠르게 개발하는 데 적합합니다.
Web 서비스 (GIN);gRPC 서비스;HTTP+gRPC 하이브리드 서비스;gRPC Gateway API 서비스.또한 개발자는 사용자 정의 템플릿을 사용하여 특정 비즈니스 요구를 충족시키기 위해 다양한 유형의 코드를 생성 할 수 있습니다.
완전한 백엔드 서비스 코드의 한 번의 클릭 생성
CRUD APIs 만 필요한 Web 또는 gRPC 서비스의 경우 Go 코드를 작성할 필요가 없습니다. 데이터베이스 (예 : MySQL , MongoDB , PostgreSQL , SQLite )에 연결하여 전체 백엔드 서비스 코드를 한 번 클릭하고 Linux 서버, Docker 또는 Kubernetes에 쉽게 배포하십시오.
일반 목적 서비스의 효율적인 개발
일반 목적 Web , gRPC , HTTP+gRPC 또는 gRPC Gateway 서비스를 개발할 때는 세 가지 측면에만 집중하면됩니다.
프레임 워크 코드 및 CRUD API 코드는 모두 스폰지에 의해 자동으로 생성됩니다.
유연한 확장 성을 제공하는 맞춤형 템플릿 지원
스폰지는 Go 언어에 국한되지 않고 사용자 정의 템플릿을 사용하여 다양한 유형의 프로젝트 별 코드를 생성하는 것을 지원합니다. 예를 들어:
스폰지를 설치하십시오
스폰지는 Windows, MacOS 및 Linux의 설치를 지원합니다. 스폰지 설치 안내서를 보려면 클릭하십시오.
코드 생성 UI를 엽니 다
설치 후 다음 명령을 실행하여 스폰지 UI를 엽니 다.
sponge run 로컬 브라우저에서 http://localhost:24631 에 액세스하여 아래와 같이 UI 인터페이스를 통해 코드를 생성합니다.
다른 호스트의 브라우저에서 액세스하려면 UI (예 :
sponge run -a http://your_host_ip:24631)를 시작할 때 호스트 IP 또는 도메인을 지정하십시오. 또는 Docker에서 UI 서비스를 실행하여 크로스 호스트 액세스를 지원할 수 있습니다. Docker에서 Sponge UI 서비스 실행에 대한 가이드를 보려면 클릭하십시오.
스폰지는 아래 다이어그램과 같이 내장 템플릿과 사용자 정의 템플릿을 사용하여 코드 생성을 지원합니다.
스폰지는 모두 마이크로 서비스 아키텍처를 기반으로 6 가지 유형의 백엔드 서비스를 작성하는 것을 지원합니다. 아래 다이어그램은 고성능, 확장 성 및 내장 서비스 거버넌스 기능을 특징으로하는 일반적인 계층 마이크로 서비스 구조를 보여줍니다.
MicroServices 프레임 워크에 의해 생성 된 HTTP 및 GRPC 서비스 코드의 성능 테스트 : 50 동시, 백만 건의 총 요청.
테스트 코드를 보려면 클릭하십시오.
Sponge가 생성 한 프로젝트 코드 디렉토리 구조는 프로젝트 층을 따릅니다.
다음은 생성 된 monolithic application single repository (monolith) 또는 microservice multi-repository (multi-repo) 코드의 디렉토리 구조입니다.
.
├── api # Protobuf files and generated * pb.go directory
├── assets # Store various static resources, such as images, markdown files, etc.
├── cmd # Program entry directory
├── configs # Directory for configuration files
├── deployments # Bare metal, docker, k8s deployment script directory.
├── docs # Directory for API interface Swagger documentation.
├── internal # Directory for business logic code.
│ ├── cache # Cache directory wrapped around business logic.
│ ├── config # Directory for Go structure configuration files.
│ ├── dao # Data access directory.
│ ├── database # database directory.
│ ├── ecode # Directory for system error codes and custom business error codes.
│ ├── handler # Directory for implementing HTTP business functionality (specific to web services).
│ ├── model # Database model directory.
│ ├── routers # HTTP routing directory.
│ ├── rpcclient # Directory for client-side code that connects to grpc services.
│ ├── server # Directory for creating services, including HTTP and grpc.
│ ├── service # Directory for implementing grpc business functionality (specific to grpc services).
│ └── types # Directory for defining request and response parameter structures for HTTP.
├── pkg # Directory for shared libraries.
├── scripts # Directory for scripts.
├── test # Directory for scripts required for testing services and test SQL.
├── third_party # Directory for third-party protobuf files or external helper programs.
├── Makefile # Develop, test, deploy related command sets .
├── go.mod # Go module dependencies and version control file.
└── go.sum # Go module dependencies key and checksum file. 다음은 생성 된 microservice monolithic repository (mono-repo) 코드 (큰 리포지토리 디렉토리 구조라고도 함)의 디렉토리 구조입니다.
.
├── api
│ ├── server1 # Protobuf files and generated *pb.go directory for service 1.
│ ├── server2 # Protobuf files and generated *pb.go directory for service 2.
│ ├── server3 # Protobuf files and generated *pb.go directory for service 3.
│ └── ...
├── server1 # Code directory for Service 1, it has a similar structure to the microservice multi repo directory.
├── server2 # Code directory for Service 2, it has a similar structure to the microservice multi repo directory.
├── server3 # Code directory for Service 3, it has a similar structure to the microservice multi repo directory.
├── ...
├── third_party # Third-party protobuf files.
├── go.mod # Go module dependencies and version control file.
└── go.sum # Go module dependencies' checksums and hash keys.코드 생성, 개발, 구성 및 배포 지침 등을 포함한 스폰지 개발 프로젝트에 대한 자세한 설명서를 보려면 클릭하십시오.
그것이 당신에게 도움이된다면, 별을 줘.