Úvod
Měli zájem o mikroslužby. Jak je mohou mikroslužby využít ke zvýšení agilnosti a škálovatelnosti?
Mikroslužby jsou struktury architektonického stylu a vzorů, které se uplatňují jako soubor služeb. Služby jsou vysoce udržovatelné, testovatelné, volně propojené, samostatně rozmístitelné a přesně zaměřené.
Také Microservices s Python3, flask a Docker s monolitickým přístupem. Flask lze použít k prototypování a sestavování mikroslužeb, k jejich hostování a nasazení pomocí Dockeru. Podívejte se také, jak nainstalovat flask v Ubuntu.
Požadavky
Baňka==1.0.2
pytest==4.6.2
baňkové vstupy==0.3.0
jsonschema==3.0.1
Flask je nejoblíbenější způsob distribuce mikroslužby RESTful v Pythonu. Jednoduché API funguje, abychom se ujistili, že to děláme správně. Micro v mikrorámci znamená, že Flask se snaží udržet jádro jednoduché, ale rozšiřitelné.
Rámec vám poskytuje pohodlné definování koncových bodů, zpracování dat požadavků a vytváření odpovědí HTTP. Navíc má vestavěný šablonovací modul, který se velmi snadno používá, ale stejně snadno se vyměňuje, pokud dáváte přednost jinému modulu.
Funkce
- Definice trasy ve stylu Django
- Jednoduchá, modulární architektura inspirovaná mikroslužbami
- Dynamické, přepsatelné rozlišení statických adresářů / adresářů šablon
Výhody tohoto pluginu
- Umožněte složkám šablon definovaných plánem přepsat nadřazené šablony, nikoli naopak.
- Umožněte statickým složkám definovaným Blueprintem, aby se přeložily a přepsaly /static, místo abyste vysvětlovali jednotlivé složky /static_module_name.
- Povolte modulární, ale centralizovanou definici tras s čistší syntaxí, abyste nebyli nuceni hledat dekorátory @app.route() nebo používat tajemnou syntaxi plánů ve složitých projektech.
- Umožňují vám libovolně vkládat/opouštět části funkcí, pouze obcházet název modulu kvůli přenositelnosti, testování a modularitě.
Flask-MicroServices není výjimečně komplexní. Naopak, je to docela malý – 200 řádků kódu, ale může přinést vysokou úroveň rozumnosti do způsobu, jakým píšete své Flask aplikace.
Instalace modulů pro Microservices s Python3
V tomto tutoriálu používáme python3
# dnf install python3-pip -y
Instalace modulů
# cat requirements.txt
Flask==1.0.2
pytest==4.6.2
flask-inputs==0.3.0
jsonschema==3.0.1
Povolit port http na firewallu
Povolte port z brány firewall příkazem uvedeným níže.
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
Nyní vytvořte testovací skript pro testování Microservices s Python3
Následující kód je následující.
# 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)
Udělte oprávnění ke spuštění a testování skriptu
Pro testování také spusťte níže uvedené příkazy.
# python3 astonmini.py