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.

EVDSOFT Platform Mimarisi

Tüm servisler, merkezi yapılandırma için Platform Servisi'ne bağımlıdır

Platform Servisi

Merkezi yapılandırma

platform.services.evdsoft.com
resolve / config

Auth Servisi

Kimlik doğrulama

auth.services.evdsoft.com

Mail Servisi

E-posta gönderimi

mail.services.evdsoft.com

SMS Servisi

SMS bildirimleri

sms.services.evdsoft.com

Audit Servisi

Denetim kaydı

audit.services.evdsoft.com
Aktif Servis
Planlanan Servis
Yapılandırma Akışı

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ğı

Platform-service, tüm yapılandırma verilerinin tek doğruluk kaynağıdır (Single Source of Truth). Servisler başlatıldığında ve periyodik olarak bu servisten yapılandırma çekerler.

Servis Resolve Akışı

Bir istemci uygulamanıza istek gönderdiğinde, aşağıdaki akış gerçekleşir:

1

İstemci İsteği

Kullanıcı uygulamanıza bir istek gönderir (örn: login).

2

Domain Resolve

Uygulamanız, platform-service'e domain resolve isteği gönderir.

HTTP
GET /api/platform/projects/resolve?domain=example.com
X-PLATFORM-KEY: your-api-key
3

Yapılandırma Alınır

Platform-service, proje bilgilerini, auth ayarlarını ve servis ayarlarını döner.

4

Servis Çağrısı

Alınan yapılandırma ile ilgili servise (auth, mail, vb.) istek yapılır.

5

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:

resolve-response.json
{
  "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

Resolve yanıtları istemci tarafında önbelleklenebilir. Önerilen TTL değeri 5 dakikadır. Bu sayede platform-service'e yapılan istek sayısı azaltılır.

Servis Domainleri

Her servis aşağıdaki domain yapısını kullanır:

ServisDomainDurum
Platform Serviceplatform.services.evdsoft.comAktif
Auth Serviceauth.services.evdsoft.comPlanlanan
Mail Servicemail.services.evdsoft.comPlanlanan
SMS Servicesms.services.evdsoft.comPlanlanan