Einführung
Sie interessierten sich für Microservices. Wie können Microservices sie für mehr Agilität und Skalierbarkeit nutzen?
Microservices sind architektonische Stil- und Musterstrukturen, die als Sammlung von Diensten Anwendung finden. Services sind hochgradig wartbar, testbar, lose gekoppelt, unabhängig einsetzbar und präzise fokussiert.
Auch Microservices mit Python3, Flask und Docker mit dem monolithischen Ansatz. Flask kann verwendet werden, um Microservices zu prototypisieren und zu erstellen, um sie mit Docker zu hosten und bereitzustellen. Sehen Sie sich auch an, wie man Fläschchen in Ubuntu installiert.
Anforderungen
Flask==1.0.2
pytest==4.6.2
Flask-Inputs==0.3.0
jsonschema==3.0.1
Flask ist die beliebteste Methode, um einen RESTful-Microservice in Python zu verteilen. Einfache API-Arbeit, um sicherzustellen, dass wir es richtig machen. Das Mikro im Mikroframework bedeutet, dass Flask darauf abzielt, den Kern einfach, aber erweiterbar zu halten.
Das Framework bietet Ihnen eine bequeme Definition von Endpunkten, die Verarbeitung der Anforderungsdaten und die Erstellung der HTTP-Antworten. Darüber hinaus verfügt es über eine integrierte Templating-Engine, die sehr einfach zu verwenden, aber genauso einfach zu ersetzen ist, falls Sie ein anderes Modul bevorzugen.
Funktionen
- Routendefinitionen im Django-Stil
- Einfache, modulare, von Microservices inspirierte Architektur
- Dynamische, überschreibbare Auflösung von statischen / Template-Verzeichnissen
Vorteile dieses Plugins
- Zulassen, dass Blueprint-definierte Vorlagenordner übergeordnete Vorlagen außer Kraft setzen und nicht umgekehrt.
- Zulassen, dass Blueprint-definierte statische Ordner von /static aufgelöst und überschrieben werden, anstatt einzelne /static_module_name-Ordner zu erklären.
- Ermöglichen Sie die modulare, aber zentralisierte Definition von Routen mit einer saubereren Syntax, sodass Sie nicht gezwungen sind, nach @app.route()-Decorators zu suchen oder die obskure Blueprint-Syntax in komplexen Projekten zu verwenden.
- Sie können Funktionsabschnitte nach Belieben ein- und ausblenden, indem Sie einfach den Namen des Moduls für Portabilität, Tests und Modularität umgehen.
Flask-MicroServices ist nicht außergewöhnlich komplex. Im Gegenteil, es ist ziemlich winzig – etwa 200 Codezeilen, aber es kann ein hohes Maß an Vernunft in die Art und Weise bringen, wie Sie Ihre Flask-Anwendungen schreiben.
Module für Microservices mit Python3 installieren
In diesem Tutorial verwenden wir python3
# dnf install python3-pip -y
Installation der Module
# cat requirements.txt
Flask==1.0.2
pytest==4.6.2
flask-inputs==0.3.0
jsonschema==3.0.1
Port http auf Firewalld zulassen
Lassen Sie also den Port von der Firewall mit dem unten angegebenen Befehl zu.
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
Erstellen Sie jetzt ein Testskript zum Testen von Microservices mit Python3
Der folgende Code lautet wie folgt.
# cat astonmini.py
#!/usr/bin/python3
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/")
def index() -> str:
return jsonify({"message": "If it doest work, then what does works?"})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
Erteilen Sie die Erlaubnis, das Skript auszuführen und zu testen
Führen Sie zum Testen auch die folgenden Befehle aus.
# python3 astonmini.py