Basis kode Microservices ASP.NET Core yang berisi contoh dunia nyata (CRUD, auth, pola lanjutan, dll) yang mematuhi spesifikasi dan API RealWorld.
Basis kode ini dibuat untuk mendemonstrasikan arsitektur layanan mikro lengkap yang dibangun dengan ASP.NET Core . Ini mencakup gRPC, Desain Berbasis Domain, CQRS, Mediator, Proxy, dan banyak lagi pola lainnya.
Ini sepenuhnya mematuhi panduan gaya & praktik terbaik komunitas ASP.NET Core .
Untuk informasi lebih lanjut tentang cara kerjanya dengan frontend/backend lain, kunjungi repo RealWorld.
Arsitektur layanan mikro - gaya arsitektur yang menyediakan kumpulan layanan yang sangat mudah dipelihara, dapat diuji, dan digabungkan secara longgar yang dapat diterapkan secara independen dan diatur berdasarkan kemampuan bisnis. Lapisan layanan ditempatkan di atas Model Domain.
Desain Berbasis Domain - memandu kami untuk fokus pada bagian kecil, individual, dan hampir otonom dari domain kami, proses kami, dan perangkat lunak yang dihasilkan lebih fleksibel. Kita dapat dengan mudah memindahkan atau memodifikasi bagian-bagian kecil tanpa efek samping.
Komunikasi melalui gRPC - cara baru yang berkembang untuk menghubungkan layanan dengan cara lintas platform dan lintas bahasa.
Proksi Jarak Jauh - bertindak seperti sumber daya lokal sambil menyembunyikan detail cara menyambung ke sumber daya jarak jauh melalui jaringan. Ini berperilaku sebagai gerbang API antara klien dan layanan.
Menerapkan Prinsip Fungsional - Pemrograman fungsional dalam C# dapat memberi Anda wawasan tentang bagaimana perilaku program Anda. Topik khusus di sini adalah arsitektur yang tidak dapat diubah, menghindari pengecualian, obsesi primitif, cara menangani kegagalan dan kesalahan input, dan banyak lagi.
Pemisahan Tanggung Jawab Kueri Perintah (CQRS) - mendorong Anda untuk menguraikan satu model domain terpadu dan membuat dua model: satu untuk menangani perintah, dan satu lagi untuk menangani kueri. CQRS memungkinkan kita membuat keputusan berbeda untuk membaca dan menulis, yang pada gilirannya memberikan tiga manfaat: skalabilitas, kinerja, dan yang terbesar, kesederhanaan. CQRS memperluas CQS ke tingkat arsitektur.
MediatR - memastikan bahwa pesan diarahkan ke tempat yang tepat. Jadi, Anda mungkin menganggapnya lebih seperti sistem pesan dalam memori.
Docker - Kontainer mewakili jenis "virtualisasi" dengan kepadatan lebih tinggi yang dapat memenuhi kebutuhan skenario tertentu lebih baik daripada hypervisor tradisional.
Travis CI - layanan integrasi berkelanjutan yang digunakan untuk membangun dan menguji proyek. Travis CI secara otomatis mendeteksi ketika penerapan telah dibuat dan dikirim ke repositori GitHub yang menggunakan Travis CI, dan setiap kali hal ini terjadi, ia akan mencoba membangun proyek dan menjalankan pengujian.