Mikros servicedialogarchitektur — ein Ansatz zum Aufbau von Software-Systemen, bei dem eine Anwendung aus kleinen, isolierten Diensten besteht, von denen jeder für eine bestimmte Geschäftsaufgabe verantwortlich ist, unabhängig von anderen entwickelt und bereitgestellt wird.
Vorteile:
Nachteile:
Beispiel für ein REST-Mockup eines Mikrodienstes in Python (Flask):
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)
Hauptmerkmale:
Können Mikrodienste in einer einzigen Datenbank arbeiten?
Das ist in der Übergangsphase von einem Monolithen zulässig, steht jedoch der Ideologie entgegen, da jeder Dienst seine Daten separat speichern sollte, um Abhängigkeiten zu minimieren und Unabhängigkeit in der Entwicklung zu gewährleisten.
Muss Docker für die Mikros servicedialogarchitektur verwendet werden?
Nein, Docker erleichtert die Bereitstellung und Isolation, aber Mikrodienste können auch ohne Containerisierung umgesetzt werden, zum Beispiel mit virtuellen Maschinen oder sogar separaten physischen Servern.
Was passiert, wenn der API-Vertrag zwischen den Diensten gebrochen ist, aber die CI/CD-Pipeline grün ist?
Ein Ausfall im API-Vertrag führt zu Interaktionsfehlern zwischen den Diensten, die nur durch Integrationstests aufgedeckt werden können. Ein grünes Build in CI/CD garantiert nicht, dass verschiedene Dienstversionen miteinander kompatibel sind.