GNU/Linux >> Belajar Linux >  >> Linux

Layanan mikro dengan Python3

Pengantar

Mereka tertarik pada layanan mikro. Bagaimana layanan mikro dapat menggunakannya untuk meningkatkan kelincahan dan skalabilitas?

Layanan mikro adalah gaya arsitektur dan struktur pola yang diterapkan sebagai kumpulan layanan. Layanan sangat dapat dipelihara, dapat diuji, digabungkan secara longgar, dapat diterapkan secara independen, dan terfokus dengan tepat.

Juga Microservices dengan Python3, flask, dan Docker dengan pendekatan monolitik. Flask dapat digunakan untuk membuat prototipe dan membangun layanan mikro, menggunakan Docker untuk meng-host dan menyebarkannya. Juga, periksa cara menginstal flask di Ubuntu.

Persyaratan

Labu==1.0.2

pytest==4.6.2

termos-input==0.3.0

jsonschema==3.0.1

Flask adalah cara paling populer untuk mendistribusikan layanan mikro RESTful dengan Python. API sederhana berfungsi untuk memastikan kami melakukannya dengan benar. Mikro dalam kerangka mikro berarti Flask bertujuan untuk menjaga inti tetap sederhana namun dapat diperluas.

Kerangka kerja ini memberi Anda titik akhir yang nyaman, menangani data permintaan, dan membangun respons HTTP. Selain itu, modul ini memiliki mesin templating internal, yang sangat mudah digunakan tetapi mudah diganti jika Anda lebih suka modul lain.

Fitur

  • Definisi rute gaya Django
  • Arsitektur yang sederhana, modular, terinspirasi layanan mikro
  • Resolusi dinamis dan dapat diganti dari direktori Statis / Template

Kelebihan plugin ini

  • Izinkan folder template yang ditentukan Blueprint untuk menggantikan template induk, bukan sebaliknya.
  • Izinkan folder statis yang ditentukan Blueprint untuk diselesaikan dari dan ditimpa /static, daripada menjelaskan folder /static_module_name individual.
  • Aktifkan secara modular, tetapi definisi rute terpusat dengan sintaks yang lebih bersih sehingga Anda tidak dipaksa untuk mencari dekorator @app.route() atau menggunakan sintaks cetak biru misterius dalam proyek yang kompleks.
  • Memungkinkan Anda untuk membuka/melepas bagian fungsionalitas sesuka hati, cukup dengan mengabaikan nama modul untuk portabilitas, pengujian, dan modularitas.

Flask-MicroServices tidak terlalu rumit. Sebaliknya, ini cukup kecil– 200-an baris kode, tetapi dapat membawa tingkat kewajaran yang tinggi untuk cara Anda menulis aplikasi Flask Anda.

Menginstal modul untuk Layanan Mikro dengan Python3

Dalam tutorial ini kita menggunakan python3

# dnf install python3-pip -y

Memasang modul

# cat requirements.txt
Flask==1.0.2
pytest==4.6.2
flask-inputs==0.3.0
jsonschema==3.0.1

Izinkan port http pada firewalld

Jadi Izinkan port dari firewall dengan perintah yang ditunjukkan di bawah ini.

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Sekarang buat skrip pengujian untuk menguji Layanan Mikro dengan Python3

Kode berikut adalah sebagai berikut.

# 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)

Berikan izin untuk mengeksekusi dan menguji skrip

Juga jalankan perintah di bawah ini untuk pengujian.

# python3 astonmini.py

Terakhir, Periksa browser Anda dan periksa tautan yang ditunjukkan oleh skrip untuk Layanan Mikro dengan Python3


Linux
  1. Perintah Nohup dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Menambal Biner Dengan Dd?

  1. Pelacakan kernel dengan trace-cmd

  2. Menggunakan Notify-send Dengan Cron?

  3. Bagaimana cara membuat perintah python3 menjalankan Python 3.6, bukan 3.5?

  1. Instal Linux dengan LVM

  2. Deploy Aplikasi Flask dengan Dokku

  3. Cara Menyebarkan Layanan Mikro dengan Docker