
Spons adalah kerangka kerja pengembangan Go yang kuat. Konsep intinya berkisar pada kode modular rekayasa balik dengan mem-parsing file JSON , SQL , atau Protobuf . Kode yang dihasilkan dapat dirakit secara fleksibel dan mulus menjadi berbagai jenis layanan backend lengkap (mirip dengan karakteristik sel spons, di mana sel spons yang dibongkar dapat secara otomatis bergabung kembali menjadi spons baru). Spons memberikan solusi all-in-one untuk pengembangan proyek, mencakup pembuatan kode, pengembangan, pengujian, dokumentasi API, dan penyebaran, secara signifikan meningkatkan efisiensi pengembangan, mengurangi kompleksitas, dan memungkinkan proyek berkualitas tinggi dengan "pendekatan kode rendah".
Spons cocok untuk mengembangkan berbagai layanan backend berkinerja tinggi dengan cepat, termasuk tetapi tidak terbatas pada:
Web (gin);gRPC ;HTTP+gRPC ;gRPC Gateway API Services.Selain itu, pengembang dapat menggunakan templat khusus untuk menghasilkan berbagai jenis kode untuk memenuhi kebutuhan bisnis tertentu.
Generasi satu klik kode layanan backend lengkap
Untuk layanan Web atau gRPC yang hanya membutuhkan CRUD APIs , tidak perlu kode Go harus ditulis. Cukup terhubung ke database (misalnya, MySQL , MongoDB , PostgreSQL , SQLite ) ke satu klik menghasilkan kode layanan backend lengkap dan dengan mudah menggunakannya ke server Linux, Docker, atau Kubernetes.
Pengembangan layanan tujuan umum yang efisien
Saat mengembangkan Web tujuan umum, gRPC , HTTP+gRPC , atau gRPC Gateway Services, Anda hanya perlu fokus pada tiga aspek:
Kode kerangka kerja dan kode API CRUD semuanya secara otomatis dihasilkan oleh spons.
Dukungan untuk templat khusus, menawarkan ekstensibilitas yang fleksibel
SPONGE mendukung menghasilkan berbagai jenis kode khusus proyek menggunakan templat khusus, tidak terbatas pada bahasa Go . Misalnya:
Pasang spons
Spons mendukung instalasi pada Windows, MacOS, dan Linux. Klik untuk melihat panduan instalasi spons .
Buka UI Pembuatan Kode
Setelah instalasi, jalankan perintah berikut untuk membuka spons UI:
sponge run Akses http://localhost:24631 di browser lokal untuk menghasilkan kode melalui antarmuka UI, seperti yang ditunjukkan di bawah ini:
Untuk mengakses dari browser pada host yang berbeda, tentukan IP atau domain host saat memulai UI, misalnya,
sponge run -a http://your_host_ip:24631. Atau, Anda dapat menjalankan layanan UI di Docker untuk mendukung akses cross-host. Klik untuk melihat panduan tentang menjalankan layanan spons UI di Docker.
Spons mendukung kode menghasilkan menggunakan templat bawaan dan templat khusus, seperti yang ditunjukkan pada diagram di bawah ini.
Spons mendukung menciptakan enam jenis layanan backend, semuanya berdasarkan arsitektur layanan mikro. Diagram di bawah ini menggambarkan struktur layanan mikro berlapis khas, menampilkan kinerja tinggi, skalabilitas, dan kemampuan tata kelola layanan bawaan.
Pengujian kinerja kode layanan HTTP dan GRPC yang dibuat oleh Microservices Framework: 50 Concurrent, 1 juta total permintaan.
Klik untuk melihat kode uji .
Struktur Direktori Kode Proyek yang dibuat oleh Spons mengikuti tata letak proyek.
Berikut adalah struktur direktori untuk monolithic application single repository (monolith) atau kode 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. Berikut adalah struktur direktori untuk kode microservice monolithic repository (mono-repo) yang dihasilkan (juga dikenal sebagai struktur direktori repositori besar):
.
├── 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.Klik untuk melihat dokumentasi terperinci untuk proyek pengembangan spons, termasuk pembuatan kode, pengembangan, konfigurasi, dan instruksi penyebaran, dan banyak lagi.
Jika itu membantu Anda, berikan bintang.