Introduzione
Erano interessati ai microservizi. In che modo i microservizi possono utilizzarli per una maggiore agilità e scalabilità?
I microservizi sono strutture in stile architettonico e pattern che si applicano come una raccolta di servizi. I servizi sono altamente manutenibili, testabili, accoppiati liberamente, implementabili in modo indipendente e mirati con precisione.
Anche Microservizi con Python3, flask e Docker con approccio monolitico. Flask può essere utilizzato per creare prototipi e creare microservizi, per utilizzare Docker per ospitarli e distribuirli. Inoltre, controlla come installare Flask in Ubuntu.
Requisiti
Pallone==1.0.2
pytest==4.6.2
input-flask==0.3.0
jsonschema==3.0.1
Flask è il modo più diffuso per distribuire un microservizio RESTful in Python. Semplice API funzionante per assicurarci di farlo bene. Il micro in microframework significa che Flask mira a mantenere il core semplice ma estensibile.
Il framework offre una comoda definizione degli endpoint, la gestione dei dati della richiesta e la creazione delle risposte HTTP. Inoltre, ha un motore di creazione di modelli integrato, molto facile da usare ma altrettanto facile da sostituire se si preferisce un altro modulo.
Caratteristiche
- Definizioni di percorsi in stile Django
- Architettura semplice, modulare e ispirata ai microservizi
- Risoluzione dinamica e sovrascrivibile delle directory Statiche/Modelli
Vantaggi di questo plugin
- Consenti alle cartelle di modelli definite da Blueprint di sovrascrivere i modelli principali, piuttosto che il contrario.
- Consenti alle cartelle statiche definite da Blueprint di risolversi e sovrascrivere /static, anziché spiegare le singole cartelle /static_module_name.
- Abilita in modo modulare, ma la definizione centralizzata di percorsi con una sintassi più pulita in modo da non essere costretto a cercare decoratori @app.route() o utilizzare la sintassi arcana del progetto in progetti complessi.
- Consentono di inserire a piacimento le sezioni delle funzionalità, ignorando semplicemente il nome del modulo per portabilità, test e modularità.
Flask-MicroServices non è eccezionalmente complesso. Al contrario, è piuttosto minuscolo - 200 righe di codice, ma può portare un alto livello di ragionevolezza nel modo in cui scrivi le tue applicazioni Flask.
Installazione di moduli per microservizi con Python3
In questo tutorial stiamo usando python3
# dnf install python3-pip -y
Installazione dei moduli
# cat requirements.txt
Flask==1.0.2
pytest==4.6.2
flask-inputs==0.3.0
jsonschema==3.0.1
Consenti porta http su firewalld
Quindi Consenti la porta dal firewall con il comando indicato di seguito.
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
Ora crea uno script di test per testare i microservizi con Python3
Il codice seguente è il seguente.
# 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)
Concedi il permesso di eseguire e testare lo script
Esegui anche i comandi seguenti per il test.
# python3 astonmini.py