
Sponge est un puissant cadre de développement Go . Son concept principal tourne autour du code modulaire d'ingénierie inverse en analysant les fichiers JSON , SQL ou Protobuf . Le code généré peut être assemblé de manière flexible et de manière transparente en différents types de services backend complets (similaires aux caractéristiques des cellules éponges, où les cellules éponges démontées peuvent se recombiner automatiquement en une nouvelle éponge). Sponge fournit une solution tout-en-un pour le développement de projets, couvrant la génération de code, le développement, les tests, la documentation de l'API et le déploiement, améliorant considérablement l'efficacité du développement, réduisant la complexité et permettant des projets de haute qualité avec une "approche à faible code".
Sponge convient pour développer rapidement divers services backend haute performance, y compris, mais sans s'y limiter:
Web (Gin);gRPC ;HTTP+gRPC ;gRPC Gateway API .De plus, les développeurs peuvent utiliser des modèles personnalisés pour générer différents types de code pour répondre aux besoins commerciaux spécifiques.
Génération en un clic de code de service backend complet
Pour les services Web ou gRPC qui ne nécessitent que CRUD APIs , aucun code Go ne doit être écrit. Connectez-vous simplement à une base de données (par exemple, MySQL , MongoDB , PostgreSQL , SQLite ) en un clic générer du code de service backend complet et déployez-le facilement sur les serveurs Linux, Docker ou Kubernetes.
Développement efficace des services à usage général
Lorsque vous développez des services de Web GRPC, gRPC , HTTP+gRPC ou gRPC Gateway , vous n'avez qu'à vous concentrer sur trois aspects:
Le code Framework et le code API CRUD sont tous générés automatiquement par Sponge.
Prise en charge des modèles personnalisés, offrant une extensibilité flexible
Sponge prend en charge la génération de différents types de code spécifique au projet à l'aide de modèles personnalisés, non limités à la langue Go . Par exemple:
Installer Sponge
Sponge prend en charge l'installation sur Windows, MacOS et Linux. Cliquez pour afficher le guide d'installation de Sponge .
Ouvrez l'interface utilisateur de génération de code
Après l'installation, exécutez la commande suivante pour ouvrir l'interface utilisateur de l'éponge:
sponge run Accédez http://localhost:24631 dans un navigateur local pour générer du code via l'interface d'interface utilisateur, comme indiqué ci-dessous:
Pour accéder à partir d'un navigateur sur un autre hôte, spécifiez la propriété intellectuelle ou le domaine de l'hôte lors du démarrage de l'interface utilisateur, par exemple,
sponge run -a http://your_host_ip:24631. Alternativement, vous pouvez exécuter le service d'interface utilisateur dans Docker pour prendre en charge l'accès à hôte croisé. Cliquez pour afficher le guide sur l'exécution du service d'interface utilisateur Sponge dans Docker.
Sponge prend en charge le code de génération à l'aide de modèles intégrés et de modèles personnalisés, comme indiqué dans les diagrammes ci-dessous.
Sponge prend en charge la création de six types de services backend, tous basés sur l'architecture de microservice. Le diagramme ci-dessous illustre une structure de microservice en couches typique, avec des performances élevées, une évolutivité et des capacités de gouvernance de service intégrées.
Test de performances du code de service HTTP et GRPC créé par le cadre Microservices: 50 demandes totales simultanées et 1 million.
Cliquez pour afficher le code de test .
La structure du répertoire de code de projet créé par Sponge suit le projet de projet.
Voici la structure du répertoire de l' monolithic application single repository (monolith) ou microservice multi-repository (multi-repo) Code:
.
├── 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. Voici la structure du répertoire du code microservice monolithic repository (mono-repo) (également connu sous le nom de grande structure de répertoire de référentiel):
.
├── 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.Cliquez pour afficher le projet de documentation détaillée de Sponge Development, y compris les instructions de génération de code, de développement, de configuration et de déploiement, etc.
Si c'est de vous aider, donnez-lui une étoile.