biricoding's profile picture.

Steve

@biricoding

Load balancer, gelen trafiği birden fazla backend sunucuya dağıtarak performans, ölçeklenebilirlik ve yüksek erişilebilirlik sağlar. Sunucuların durumunu health check ile kontrol eder ve arızalı sunucuları devre dışı bırakır. Round-robin, least-connections gibi algoritmalar….


WebFlux sayesinde, thread’leri bloklamadan IO yanıtı bekleriz ve bu esnada uygulama diğer işlemlere devam eder. Reaktif akış sayesinde performans artar.


- @Controller MVC pattern için kullanılır ve view döndürür. @RestController ise REST API geliştirmek için kullanılır ve varsayılan olarak JSON döner; @ResponseBody anotasyonunu otomatik içerir.


- @Transactional, bir metot içindeki tüm DB işlemlerini tek bir atomik işlem (transaction) olarak yönetir. Eğer süreç içinde exception oluşursa, yapılan tüm değişiklikleri rollback eder ve veriyi eski haline döndürür.


EAGER, kontrol edilmezse N+1 ve performans problemlerine yol açar. Bu yüzden ilişki tipinden bağımsız olarak tüm ilişkilere LAZY başlar ve ihtiyaca göre fetch planı tanımlanır.


Eğer Hibernate yerine EclipseLink kullanırsam? Uygulama büyük ölçüde aynı JPA anotasyonlarıyla çalışmaya devam eder. Çünkü JPA standarttır, Hibernate bu standartları uygulayan ORM tool udur.


JPA standarttır; Hibernate ise bu standardı uygulayan en popüler ORM framework’tür.


Dependency Injection, bir sınıfın ihtiyaç duyduğu bağımlılıkları kendi içinde oluşturmadan, dışarıdan enjekte edilmesini sağlayan tasarım yaklaşımıdır. Bu sayede loosely coupled mimari sağlanır, test edilebilirlik artar.


Spring Boot, Spring uygulamalarını minimum konfigürasyonla hızlı bir şekilde ayağa kaldıran, microservice geliştirmek için ideal bir framework’tür.


United States الاتجاهات

Loading...

Something went wrong.


Something went wrong.