GNU/Linux >> Znalost Linux >  >> Linux

Mikroslužby s Python3

Ú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

Nakonec zkontrolujte svůj prohlížeč a zkontrolujte odkaz označený skriptem pro Microservices s Python3


Linux
  1. JQ Command v Linuxu s příklady

  2. Používáte Notify-Send s Cronem?

  3. Oprava binárního kódu pomocí Dd?

  1. Trasování jádra pomocí trace-cmd

  2. Nasaďte aplikaci Flask s Dokku

  3. Jak nasadit mikroslužby s Dockerem

  1. Nainstalujte Linux pomocí LVM

  2. Příkaz Nohup s příklady

  3. Jak zajistit, aby příkaz python3 spouštěl Python 3.6 místo 3.5?