Похожие презентации:
11-mavzu (4)
1. API platformalar va mikroxizmat arxitekturasi
2.
• API tushunchasi va uning ahamiyati• API (Application Programming Interface) — bu dasturiy tizimlar o‘rtasida ma’lumot
almashish va o‘zaro ishlashni ta’minlovchi interfeysdir. API yordamida bir dastur boshqa
dastur funksiyalaridan foydalanishi mumkin bo‘ladi. Zamonaviy axborot tizimlari, mobil
ilovalar, veb-platformalar va bulutli xizmatlarning asosida API texnologiyasi yotadi.
• API texnologiyasi dasturiy modullar o‘rtasidagi bog‘lanishni soddalashtiradi va tizimlarni
integratsiyalash imkonini beradi. Masalan, mobil ilova ob-havo ma’lumotlarini tashqi
serverdan API orqali oladi yoki elektron to‘lov tizimlari bank xizmatlari bilan API orqali
bog‘lanadi.
• API quyidagi asosiy vazifalarni bajaradi:
• tizimlararo integratsiyani ta’minlash;
• ma’lumot almashishni standartlashtirish;
• dastur modullarini qayta ishlatish imkonini yaratish;
• bulutli xizmatlardan foydalanishni soddalashtirish;
• mikroxizmatlar o‘rtasidagi aloqani tashkil etish.
• Bugungi kunda API texnologiyalari raqamli iqtisodiyotning asosiy tarkibiy qismlaridan
biri hisoblanadi.
3.
• API platformalar haqida umumiy tushuncha• API platforma — bu API larni yaratish, boshqarish, monitoring qilish va himoyalash uchun xizmat
qiluvchi dasturiy muhitdir. API platformalari dasturchilarga turli tizimlarni yagona standart asosida
bog‘lash imkonini beradi.
• Mashhur API platformalariga quyidagilar kiradi:
• Amazon Web Services API Gateway
• Microsoft Azure API Management
• Google Cloud Apigee
• IBM API Connect
• Oracle API Platform
• API platformalar quyidagi imkoniyatlarni beradi:
• API yaratish;
• trafikni boshqarish;
• autentifikatsiya;
• monitoring va log yuritish;
• versiyalarni boshqarish;
• xavfsizlikni ta’minlash.
4.
• API turlari va ishlash tamoyillari• API lar arxitektura va qo‘llanilishiga qarab bir necha turlarga bo‘linadi:
• Ochiq API (Open API)
• Bunday API lar ommaviy foydalanish uchun mo‘ljallangan bo‘ladi.
Masalan, xarita, ob-havo yoki to‘lov xizmatlari API lari.
• Ichki API (Private API)
• Faqat tashkilot ichida foydalaniladi. Korporativ tizimlar o‘rtasidagi
integratsiyada ishlatiladi.
• Hamkorlik API si (Partner API)
• Faqat ma’lum hamkor tashkilotlarga taqdim etiladi.
• Kompozit API
• Bir nechta xizmatlarni yagona so‘rov orqali bajaradi.
5. Nima uchun kerak?
• Frontend ko‘pincha:• user ma’lumoti
• orderlar
• payment
• Ogohlantirishlar kabi bir nechta servisdan axborot oladi.
• Agar har biriga alohida request yuborsa:
• sekinlashadi
• network call ko‘payadi
• frontend murakkablashadi
• Composite API buni bitta joyga yig‘adi.
6.
• REST API va SOAP API texnologiyalari• REST (Representational State Transfer) — internetda eng keng
qo‘llaniladigan API arxitekturasi hisoblanadi. REST HTTP protokoli
asosida ishlaydi.
• REST API HTTPning metodlaridan foydalanadi:
Metod
GET
POST
PUT
DELETE
Vazifasi
Ma’lumot olish
Ma’lumot
yuborish
Yangilash
O‘chirish
7.
• REST API odatda JSON formatida ishlaydi.• Misol:
•{
"id": 1,
"name": "Ali"
}
• REST API ning afzalliklari:
• sodda arxitektura;
• yuqori tezlik;
• platformalararo moslik;
• mobil ilovalar bilan qulay ishlash.
8.
• SOAP API• SOAP (Simple Object Access Protocol) — XML asosida ishlovchi qat’iy
standartlashtirilgan API texnologiyasi hisoblanadi.
• SOAP quyidagi xususiyatlarga ega:
• yuqori xavfsizlik;
• qat’iy protokol;
• bank va korporativ tizimlarda keng qo‘llanilishi.
• SOAP ning kamchiligi — murakkabligi va katta hajmdagi XML
ma’lumotlaridir.
9. Mikroxizmat arxitekturasi tushunchasi
• Mikroxizmat arxitekturasi — bu dasturiy tizimni mustaqil ishlovchikichik xizmatlarga ajratish usulidir. Har bir xizmat alohida vazifani
bajaradi va API orqali boshqa xizmatlar bilan aloqa qiladi.
• Masalan:
• foydalanuvchi xizmati;
• to‘lov xizmati;
• autentifikatsiya xizmati;
• bildirishnoma xizmati.
• Har bir xizmat mustaqil ishlab chiqiladi va joylashtiriladi.
10. Monolit va mikroxizmat arxitekturasining farqlari
Monolit arxitekturaBarcha modul bitta
tizimda
Katta loyiha
murakkablashadi
Bir joydagi xato butun
tizimga ta’sir qiladi
Joylashtirish qiyin
Mikroxizmat arxitekturasi
| | Xizmatlar mustaqil
Kengaytirish oson
Nosozlik lokal bo‘ladi
Har bir xizmat alohida
deploy qilinadi
11.
• Mikroxizmatlarning afzalliklari1.Masshtablash qulayligi
2.Mustaqil deploy qilish
3.Texnologik moslashuvchanlik
4.Xatolarning lokalizatsiyasi
5.DevOps jarayonlari bilan mosligi
12.
• Mikroxizmatlarning kamchiliklari1.Tizim murakkabligi oshadi
2.Monitoring qiyinlashadi
3.Tarmoq yuklanishi ortadi
4.Xizmatlararo xavfsizlik muammolari yuzaga keladi
13.
• API Gateway tushunchasi• API Gateway — barcha mikroxizmatlar uchun yagona kirish nuqtasi
hisoblanadi.
• Vazifalari:
• autentifikatsiya;
• marshrutlash;
• yuklamani balanslash;
• log yuritish;
• xavfsizlikni ta’minlash.
• API Gateway foydalanuvchi va mikroxizmatlar o‘rtasida vositachi
sifatida ishlaydi.
14.
• Docker va Kubernetes asosida mikroxizmatlarni boshqarish• Docker
• Docker texnologiyasi mikroxizmatlarni konteynerlarda ishga tushirish
imkonini beradi.
• Docker afzalliklari:
• tez deploy;
• resurslardan samarali foydalanish;
• platformalararo ishlash.
15. Kubernetes
• Google Cloud tomonidan ishlab chiqilgan Kubernetes konteynerlarniavtomatik boshqarish tizimidir.
• Kubernetes imkoniyatlari:
• avtomatik masshtablash;
• konteyner monitoringi;
• yuklama balanslash;
• nosoz konteynerlarni qayta ishga tushirish.
16. Zamonaviy mikroxizmat platformalari
• Quyidagi platformalar mikroxizmatlar bilan ishlashda kengqo‘llaniladi:
• Amazon Web Services ECS va EKS
• Microsoft Azure Kubernetes Service
• Google Cloud Kubernetes Engine
• Red Hat OpenShift
• Ular katta hajmdagi tarqatilgan tizimlarni boshqarish imkonini beradi.
17. Xulosa
• API platformalar va mikroxizmat arxitekturasi zamonaviy dasturiytizimlarning asosini tashkil etadi. API texnologiyasi turli dasturiy
modullarni integratsiyalash imkonini bersa, mikroxizmat arxitekturasi
katta tizimlarni mustaqil boshqariluvchi qismlarga ajratadi.
• Bulutli texnologiyalar, konteynerlash va orkestratsiya vositalarining
rivojlanishi mikroxizmat yondashuvining ommalashishiga olib keldi.
Docker va Kubernetes kabi texnologiyalar esa mikroxizmatlarni
samarali boshqarish imkonini bermoqda.
• Kelajakda sun’iy intellekt, IoT va bulutli platformalar rivojlanishi bilan
API va mikroxizmat arxitekturasi yanada muhim texnologiyaga
aylanadi.
18.
• data = []• CREATE TABLE IF NOT
for student in students:
EXISTS students (
data.append({
• id INTEGER PRIMARY
"id": student[0],
KEY AUTOINCREMENT,
"name": student[1]
})
• name TEXT )
return jsonify(data)
• """)
• # POST API
• conn.commit()
• @app.route("/students",
methods=["POST"])
• # GET API
• @app.route("/students", • def add_student():
methods=["GET"])
data = request.json
• def get_students():
name = data["name"]
cursor.execute(
cursor.execute("SELECT *
"INSERT INTO students (name)
FROM students")
VALUES (?)",
• students =
(name,) )
cursor.fetchall()
conn.commit()
• return jsonify({
"message": "Talaba
qo'shildi“ })
• # DELETE API
• @app.route("/students/<int
:id>", methods=["DELETE"])
• def delete_student(id):
cursor.execute(
"DELETE FROM
students WHERE id=?",
(id,) )
conn.commit()
return jsonify({
"message": "Talaba
o'chirildi“ })
• app.run(debug=True)