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