จากการที่ผมไปได้ฟังในงาน PyCon Thailand 2018 ในวันเสาร์ที่ 16 มิถุนายนที่ผ่านมา ถือเป็นกรณีที่น่าสนใจอย่างมาก
ขายดีมีหลักการในการเลือก framework ในการพัฒนาดังนี้
- เบา - framework มีขนาดเล็ก
- หลากหลาย
- มีการบำรุงรักษาที่ดี - แก้บั๊กหรือพัฒนาต่อเนื่อง
- test - ไม่ขัดขวางระบบการ test
โดยขายดีอนุญาตให้คัดค้านแล้วเสนอ framework อื่น ๆ ได้
จาก list ข้างบน ทางขายดีจึงได้เลือกมา 3 framework คือ Bottle โดยเบาแต่สเกลยากจึงตกไป , falcon เร็วแต่บำรุงรักษายาก จนสุดท้ายมาจบที่ Flask ที่ชนะขาด
โดยขายดีใช้ Flask แบบแยกเป็น Microservice โดยมีข้อดีคือ แตกย่อยเพื่อให้ดูแลได้ง่าย
ขายดีใช้ Flask ในส่วนดังนี้
- หน้าหลัก
- อัพรูปภาพ
- ดูของ / Ads
- ค้นหา
- โปรไฟล์
- Egg ใน ขายดี
- สถิติการเข้าชมหรือซื้อสินค้า
- My Ads
แต่ขายดีใช่ว่าจะใช้ Flask ทั้งหมด เพราะทางขายดีพบว่ามีคนยังใช้แอพขายดีในมือถือเวชั่นแรก แถมใช้งานจริงด้วย หากจะให้แอพมือถือเรียกข้อมูลหมดต้องดึงข้อมูลมาจาก Microservice ที่มีจำนวนมาก
ทางขายดีจึงสร้างสิ่งที่เรียกว่า backend for frontend (BFF) ขึ้นมาเพื่อจัดการสเกลให้ดึงข้อมูลมาจาก Microservice ซึ่งตรงนี้เองที่ไม่ได้ใช้ Flask
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)