← Indonesian conversations
Indonesian · technology · advanced · 183 words · ~1 min

Arsitektur Layanan Mikro dalam Pengembangan Perangkat Lunak

สถาปัตยกรรม Microservices ในการพัฒนาซอฟต์แวร์
Microservices Architecture in Software Development

Two senior software engineers debate the trade-offs of adopting a microservices architecture.

Andika
. ?
ฝ่ายบริหารขอให้เราย้ายจาก monolith ไปสู่ microservices คุณเห็นด้วยกับการตัดสินใจนี้ไหม
Sinta
. , .
ขึ้นอยู่กับบริบท Microservices ให้ความยืดหยุ่นในการ deploy และปรับขนาดได้รายบริการ แต่ความซับซ้อนในการดำเนินงานเพิ่มขึ้นอย่างมาก
Andika
? .
ความซับซ้อนที่ว่าเป็นอย่างไร ก็ deploy แต่ละบริการได้อิสระนี่
Sinta
, , , , .
ถูก แต่ตอนนี้คุณต้องจัดการ service discovery การทำ load balancing แบบกระจาย การ tracing ข้ามบริการ และ eventual consistency ระหว่างบริการหลายสิบตัว
Andika
.
ปัญหาเหล่านั้นแก้ได้ด้วยแพลตฟอร์มอย่าง Kubernetes และ service mesh อย่าง Istio
Sinta
, . ?
ได้ แต่มันเพิ่มเส้นโค้งการเรียนรู้และค่าโครงสร้างพื้นฐาน ทีมเราพร้อมด้านความสามารถแล้วหรือยัง
Andika
. .
ประเด็นที่ถูกต้อง กลยุทธ์การย้ายแบบค่อยเป็นค่อยไปอาจสมจริงกว่าการย้ายแบบทีเดียว
Sinta
. : , .
เห็นด้วย เริ่มด้วย Strangler Fig pattern: ห่อหุ้ม monolith เก่าไว้ แล้วค่อยแยกบริการทีละตัวตามโดเมนธุรกิจ
Andika
, ?
สำหรับการสื่อสารระหว่างบริการ เลือกแบบ synchronous ผ่าน REST หรือ asynchronous ผ่าน message broker อย่าง Kafka
Sinta
, .
ใช้แบบ synchronous สำหรับการดำเนินงานที่ต้องการตอบสนองทันที และ asynchronous สำหรับกระแสข้อมูลสูงและกระบวนการที่ทนต่อความล่าช้า
Andika
. .
ดีแล้ว เราร่างข้อเสนอทางเทคนิคพร้อมการวิเคราะห์ความเสี่ยงก่อนนำเสนอฝ่ายบริหาร
Sinta
. .
เห็นด้วย ใส่เกณฑ์ความสำเร็จที่ชัดเจนด้วยเพื่อให้การย้ายสามารถประเมินผลได้อย่างเป็นกลาง
colour key NounVerbAdjectiveAdverbPronounParticleConjunctionDeterminer