Mikroservis mimarisi — uygulamaların küçük, izole servislerden oluştuğu bir yazılım sistemi inşa etme yaklaşımıdır; her servis belirli bir iş görevinden sorumludur, diğerlerinden bağımsız olarak geliştirilir ve dağıtılır.
Avantajlar:
Dezavantajlar:
Python (Flask) ile bir mikroservisin REST taslağı örneği:
from flask import Flask, jsonify app = Flask(__name__) @app.route('/user/<int:user_id>') def get_user(user_id): return jsonify({"user_id": user_id, "name": "Ivan"}) if __name__ == "__main__": app.run(port=5001)
Ana özellikler:
Mikroservisler aynı veritabanında çalışabilir mi?
Bu, monolitik yapıdan geçiş aşamasında makuldür, ancak ideolojiye tersdir; her servis, bağımlılıkları minimize etmek ve geliştirme bağımsızlığını sağlamak için verilerini ayrı saklamalıdır.
Mikroservis mimarisi için Docker kullanmak zorunlu mu?
Hayır, Docker dağıtımı ve izolasyonu kolaylaştırır, ancak mikroservisler, sanal makineler veya hatta ayrı fiziksel sunucular gibi konteynerleştirme olmadan da uygulanabilir.
Eğer API sözleşmesi servisler arasında kırılırsa, ancak CI/CD pipeline'ında her şey yeşilse ne olur?
API sözleşmesindeki bir arıza, servisler arasındaki etkileşimde hatalara yol açar; bu hatalar yalnızca entegrasyon testleri ile tespit edilebilir. CI/CD'deki yeşil yapı, farklı servislerin sürümlerinin birbirleriyle uyumlu olduğunu garanti etmez.