Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
AppHost ile Orchestration: Resource'lar, WithReference, WaitFor, Parameter'lar ve Kalıcı Container'lar
AppHost'ta her parça bir resource: project, container ya da executable; WithReference connection string'i ve connection property'lerini environment variable olarak veriyor, WaitFor sağlıklı olmayı, WaitForCompletion bir işin 0 koduyla bitmesini bekliyor. Yazı Bookstore'a SQL Server, Redis ve migration worker'ı ekliyor; exception fırlatan worker'ın 0 koduyla çıkıp API'yi başlattığı tuzağı, secret parameter'ları ve kalıcı container'ları gerçek çıktılarla gösteriyor.
Solution İskeleti: Aspire AppHost, ServiceDefaults ve Tek Komutla Lokal Ortam
Aspire AppHost, Bookstore'un beş service'ini, service başına bir SQL Server database'ini, Redis'i, RabbitMQ'yu ve Keycloak'u tek C# dosyasında tarif edip tek komutla çalıştırıyor; ServiceDefaults telemetri, health check, service discovery ve resilience'ı her service'e tek satırla ekliyor. Migration'ları service binary'sini --migrate ile ayrı bir resource olarak çalıştırıp WaitForCompletion ile bekliyoruz; WaitFor'un neden yetmediğini gerçek başlama saatleriyle gösteriyoruz.