Mimari Genel Bakış
EVDSOFT platformunun mikro servis mimarisini, veri akışını ve servisler arası iletişimi anlayın.
Genel Bakış
EVDSOFT platformu, merkezi bir yapılandırma sistemi etrafında organize edilmiş mikro servislerden oluşur. Platform-service, sistemin kalbi olarak görev yapar ve diğer tüm servislerin yapılandırma kaynağıdır.
Tüm servisler, merkezi yapılandırma için Platform Servisi'ne bağımlıdır
Platform Servisi
Merkezi yapılandırma
Auth Servisi
Kimlik doğrulama
Mail Servisi
E-posta gönderimi
SMS Servisi
SMS bildirimleri
Audit Servisi
Denetim kaydı
Platform Service: Merkez
Platform-service, EVDSOFT mimarisinin merkezinde yer alır ve aşağıdaki kritik görevleri yerine getirir:
Proje Yönetimi
Tüm projelerin tanımı, durumu ve meta verileri burada saklanır. Her proje bir veya birden fazla domain ile ilişkilendirilebilir.
Domain Yönetimi
Projeler domain bazlı tanımlanır. Bir domain sorgulandığında ilgili proje ve yapılandırması döner.
Auth Ayarları
JWT ayarları, session timeout, 2FA yapılandırması gibi kimlik doğrulama parametreleri proje bazlı tanımlanır.
Servis Ayarları
Hangi servislerin aktif olduğu, hangi provider'ların kullanıldığı gibi servis bazlı yapılandırmalar.
Tek Doğruluk Kaynağı
Servis Resolve Akışı
Bir istemci uygulamanıza istek gönderdiğinde, aşağıdaki akış gerçekleşir:
İstemci İsteği
Kullanıcı uygulamanıza bir istek gönderir (örn: login).
Domain Resolve
Uygulamanız, platform-service'e domain resolve isteği gönderir.
GET /api/platform/projects/resolve?domain=example.com
X-PLATFORM-KEY: your-api-keyYapılandırma Alınır
Platform-service, proje bilgilerini, auth ayarlarını ve servis ayarlarını döner.
Servis Çağrısı
Alınan yapılandırma ile ilgili servise (auth, mail, vb.) istek yapılır.
Yanıt Dönüşü
Servis yanıtı kullanıcıya iletilir.
Veri Akışı
Domain resolve endpoint'i çağrıldığında dönen yanıt örneği:
{
"success": true,
"data": {
"project": {
"id": "proj_abc123",
"name": "Example Project",
"slug": "example",
"status": "active"
},
"authSettings": {
"jwtEnabled": true,
"jwtSecret": "...",
"sessionTimeout": 3600,
"refreshTokenEnabled": true,
"twoFactorEnabled": false
},
"serviceSettings": {
"mailEnabled": true,
"mailProvider": "sendgrid",
"smsEnabled": true,
"smsProvider": "twilio"
},
"matchedDomain": "example.com"
},
"timestamp": "2024-02-15T10:30:00Z"
}Önbellekleme
Servis Domainleri
Her servis aşağıdaki domain yapısını kullanır:
| Servis | Domain | Durum |
|---|---|---|
| Platform Service | platform.services.evdsoft.com | Aktif |
| Auth Service | auth.services.evdsoft.com | Planlanan |
| Mail Service | mail.services.evdsoft.com | Planlanan |
| SMS Service | sms.services.evdsoft.com | Planlanan |