microservice Archive

Pinball Architecture คืออะไร ?

อ่านเอกสารแล้วไปเจอคำว่า Pinball Architectureก็ได้แต่สงสัยว่าคืออะไรพอมีเวลาว่างก็ลองมาหาข้อมูลหน่อยว่า คืออะไรหมายถึงอะไรบ้าง

Read More…

ปัญหาที่เกิดจากการนำแนวคิด Microservices มาใช้ในทางที่ผิด

จากการสอนและแบ่งปันเรื่องการออกแบบระบบตามแนวคิด Microservices ที่ Skooldio มามีหนึ่งสิ่งที่อยากแนะนำคือเมื่อเราเข้าใจและปัญหาที่ Microservices เข้ามาช่วยแก้ไขปัญหาแต่ถ้าเรานำมาใช้แล้วดันเกิดปัญหามากกว่าเดิมมันบ่งบอกว่า คุณไม่เข้าใจ หรือ เข้าใจผิด หรือ แก้ปัญหาด้วยวิธีการที่ผิดหรือไม่ ?มาดูกันว่ามีอะไรบ้าง

Read More…

สรุปจากงาน QCon Plus 2020 เรื่อง The Journey from Monolith to Microservices at GitHub

จากงาน QCon Plus 2020 :: The Journey from Monolith to Microservices at GitHub ระบบของ GitHub นั้นมีอายุมากกว่า 12 ปีโดยพัฒนาในรูปแบบของ Monolith architecture เป็นหลักพัฒนาด้วย RoR หรือ Ruby on Railsทำการ deploy หลายครั้งต่อวันระบบต้อง scale เพื่อรองรับจำนวน request มากกว่า 1,000 ล้านครั้งต่อวันโดยระบบสามารถทำงานได้ตามที่ต้องการเป็นอย่างดี

Read More…

ว่าด้วยเรื่อง Chain of Services ที่อาจะก่อให้เกิดปัญหา

ในการออกแบบ service ของระบบงานนั้นมีรูปแบบหนึ่งที่เจอบ่อยมาก ๆ คือเรามักจะแยกเป็น service ย่อย ๆโดยแต่ละ service ทำงานอย่างใดอย่างหนึ่งไปเลย (Single Responsibility)เป็นสิ่งที่ดีมาก ๆ เพราะว่าแต่ละ service มีขอบเขตการทำงานชัดเจนแต่เมื่อนำ service ต่าง ๆ มาทำงานร่วมกันจะเกิดรูปแบบต่าง ๆ มากมาย หนึ่งในรูปแบบคือ Chain of Responsibility หรือ Chain of Services

Read More…

อธิบายเกี่ยวกับรูปแบบของ CQRS (Command-Query Responsibility Separation)

จากการแบ่งปันเรื่องปัญหาของระบบที่ทำงานช้า เมื่อพูดคุย วาดรูปของ architecture ของระบบแล้ว ได้เห็นว่า ต้นเหตุของปัญหาหลัก ๆ คือ เรื่องการการจัดการข้อมูล นั่นคือ  ปัญหาในการแก้ไขข้อมูลทั้งการเขียน แก้ไขและลบ ปัญหาในการอ่านข้อมูล มักจะแก้ไขข้อมูลโดยไม่คำนึงถึงการใช้งาน เช่นการ ดึงข้อมูลเลยเก็บ ๆ กันไปก่อน แล้วค่อยไปดึงการทีหลัง !!

Read More…

ทำไมต้องมี API Gateway ด้วย ?

คำถามที่น่าสนใจมาก ๆ ที่ถูกถามเป็นประจำคือ ทำไมต้องมี API Gateway ด้วย ? ไม่ใช้ได้ไหม ? พอดีซื้อมาแล้ว ก็ต้องใช้ ? คนออกแบบกำหนดว่าต้องให้มี ? แต่ก็มักตอบกลับด้วยคำถามคือ ใช้ API Gateway ไปทำไม ? ทำไมต้องใช้ ? ไม่ใช้ได้ไหม ? การใช้หรือไม่ใช้ มีข้อดีและข้อเสียอะไรบ้าง

Read More…

สรุปแนวปฏิบัติในการออกแบบ Microservices ด้วย IDEALS

จากบทความเรื่อง Principles for Microservice Design: Think IDEALS, Rather than SOLID ทำการอธิบายแนวทางการออกแบบตามแนวคิด Microservices ได้อย่างน่าสนใจ โดยทำการหยิบเอาแนวคิดจาก SOLID  สำหรับการออกแบบระบบที่พัฒนาด้วย Object-Oriented Programmingมาประยุกต์ใช้กับ Microservies

Read More…

ตอบคำถามเรื่อง การใช้งาน RabbitMQ

จากการสอนใน course Microservices workshop ที่ Skooldio ไปนั้น มีการแนะนำในเรื่องของการนำ messaging และ Event-based architecture มาใช้งาน และได้มีคำถามเกี่ยวกับการนำ RabbitMQ มาใช้งาน ว่าจะออกแบบตามที่ต้องการอย่างไรบ้าง

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง 5 Key Takeaways From My Experience with Microservices

เรื่องของ Microservices นั้น ไปที่ไหนก็มีแต่คนพูดถึง หรือบางครั้งมันกลายเป็นแนวทางหลักของระบบต่าง ๆ ไปแล้ว แต่บ่อยครั้งจะพบว่า เราเน้นไปเรื่องว่าจะทำ อย่างไร ก่อนปัญหาที่เราต้องการแก้ไข มันอาจจะทำให้เกิดปัญหามากมายตามมา จากบทความ 5 Key Takeaways From My Experience with Microservices ทำการสรุปจากประสบการณ์การนำแนวคิด Microservices มาใช้งาน ว่ามันมีข้อดีข้อเสีย ข้อระมัดระวังรวมทั้งความเข้าใจ จึงทำการสรุปไว้นิดหน่อย น่าจะพอมีประโยชน์บ้าง

Read More…

สรุปการแบ่งปันเรื่องของ Microservices

ในช่วง 2-3 เดือนที่ผ่านมานั้น มีโอกาสได้แลกเปลี่ยนความรู้และประสบการณ์ เกี่ยวกับการนำแนวคิด Microservices มาใช้งาน ผ่านทางการพูดคุย สอน แบ่งปันแบบ Remote/Online ทำให้ได้เห็นแนวทางที่ชัดเจนขึ้นว่า

Read More…