Mikroservis mimarisinde, bir uygulama küçük, bağımsız servisler halinde bölünür. Bu servisler, belirli işlevleri yerine getirmek için tasarlanmıştır ve birbirinden bağımsız olarak geliştirilip dağıtılabilirler. İşte yaygın olarak mikroservis mimarisinde kullanılan bazı temel servisler:
1. Kullanıcı Servisi (User Service)
- Kullanıcıların kaydı, kimlik doğrulama (authentication), yetkilendirme (authorization), kullanıcı bilgileri yönetimi gibi işlemleri gerçekleştirir.
- Genellikle bir JWT tabanlı kimlik doğrulama mekanizması içerir.
2. Ürün Servisi (Product Service)
- Ürünlerin eklenmesi, güncellenmesi, listelenmesi ve silinmesi gibi işlemlerden sorumludur.
- Ürünle ilgili tüm veritabanı işlemlerini yönetir.
3. Sipariş Servisi (Order Service)
- Kullanıcıların verdikleri siparişlerin yönetilmesini sağlar.
- Sipariş oluşturma, güncelleme, sipariş durumu takibi gibi işlemleri gerçekleştirir.
4. Ödeme Servisi (Payment Service)
- Kullanıcıların satın alma işlemlerinde ödeme süreçlerini yönetir.
- Farklı ödeme yöntemlerini destekler ve ödeme doğrulaması yapar.
5. Bildirim Servisi (Notification Service)
- Kullanıcılara e-posta, SMS veya anlık bildirimler (push notification) gönderir.
- Diğer servislerden gelen etkinlikleri dinleyerek bildirimleri tetikler.
6. Envanter Servisi (Inventory Service)
- Ürünlerin stok durumunu yönetir.
- Sipariş işlemlerinde stokların güncellenmesini sağlar.
7. Gateway Servisi (API Gateway)
- Tüm mikroservislere giriş noktası olarak işlev görür.
- Yük dengeleme, istek yönlendirme, kimlik doğrulama gibi işlemleri merkezileştirir.
- Genellikle API Gateway, güvenlik ve yönlendirme politikalarını uygular.
8. Yönetim ve Yapılandırma Servisi (Configuration Service)
- Mikroservislerin yapılandırma ayarlarını merkezi olarak yönetir.
- Spring Cloud Config gibi araçlarla uygulanabilir.
9. Servis Keşif (Service Discovery)
- Mikroservislerin birbiriyle nasıl iletişim kuracağını yönetir.
- Eureka, Consul gibi servisler kullanılır.
10. Loglama ve İzleme Servisi (Logging and Monitoring Service)
- Mikroservislerin çalışmasını izler, loglarını toplar ve analiz eder.
- Centralized logging (Merkezi loglama) ve monitoring sistemleri (Prometheus, Grafana, ELK stack gibi) kullanılır.
11. Mesaj Kuyruğu Servisi (Message Queue Service)
- Servisler arası asenkron iletişim sağlar.
- RabbitMQ, Apache Kafka gibi mesajlaşma sistemleri kullanılabilir.
12. Veri Analizi ve Raporlama Servisi (Analytics and Reporting Service)
- Uygulama kullanım verilerini toplar ve analiz eder.
- Raporlar ve iş zekası (BI) araçları ile entegrasyon sağlar.
13. Arama Servisi (Search Service)
- Ürünler, kullanıcılar, siparişler gibi veriler üzerinde gelişmiş arama işlevselliği sunar.
- Elasticsearch gibi arama motorları kullanılabilir.
14. Yetkilendirme ve Erişim Kontrol Servisi (Authorization and Access Control Service)
- Roller ve izinler bazında erişim kontrolü sağlar.
- Role-based Access Control (RBAC) ve Attribute-based Access Control (ABAC) gibi yetkilendirme modelleri uygulanabilir.
Bu servisler, genellikle mikroservis tabanlı bir sistemin bel kemiğini oluşturur. Ancak her proje özelinde ihtiyaçlara göre bu servisler genişletilebilir veya daraltılabilir.
Top comments (0)