หลักสูตร/ปี พ.ศ. วิศวกรรมศาสตรบัณฑิต สาขาวิชาวิศวกรรมคอมพิวเตอร์ ปี พ.ศ. 2562
ภาคและปีการศึกษาที่สำเร็จการศึกษา ภาคปลาย ปีการศึกษา 2561
ประเภทโครงงาน
โครงงานวิศวกรรม
ชื่อโครงงานภาษาไทย
ระบบบริหารจัดการ GraphQL ในสถาปัตยกรรมแบบบริการขนาดเล็กเชื่อมโยงกัน
ชื่อโครงงานภาษาอังกฤษ
GraphQL management in microservices architecture
ผู้พัฒนา
5810500412 คมคณิต สัจจอุตตรา
อาจารย์ที่ปรึกษาหลัก
จิตร์ทัศน์ ฝักเจริญผล
อาจารย์ที่ปรึกษาร่วม
-
บทคัดย่อ
การออกแบบสถาปัตย์กรรมของระบบโดยรวม Software มีด้วยหันหลักๆสองวิธีคือ การออกแบบแบบ monolith หมายถึงการทำงานทั้งหมดรวมอยู่ใน Service เดียว และการออกแบบแบบ microservice คือการออกแบบโดยแยกแต่ละ service ย่อยๆออกจากกัน และทำงานแยกออกจากกัน ซึ่งการออกแบบระบบที่มีขนาดใหญ่มากๆนั้น การใช้ microservice เป็นที่นิยมมากในการนำมาใช้ ซึ่งความยากของการออกแบบ microservice นั้น คือการที่แต่ละ service ต้องมีการแลกเปลี่ยนข้อมูลกัน จึงได้มีแนวคิดการใช้ API Gateway มาแก้ปัญหาการเชื่อมต่อกันของ microservice ให้ใช้งานง่ายมากยิ่งขึ้น แต่ก็ยังมีปัญหาอีกหลายๆด้านที่ยังแก้ไขไม่ได้อยู่ ผมจึงได้ลองนำแนวคิดของ Query Language อย่างหนึ่งที่เป็นที่นิยมอย่างมากในปัจจุบัน คือ GraphQL มาผสมผสานกับแนวคิดการทำ API Gateway เพื่อแก้ไขปัญหาที่เกิดขึ้นของ API Gateway และ microservice จึงเกิดเป็นแนวคิดของ GraphQL Gateway ขึ้นมา ซึ่งจะนำข้อดีและข้อเสีย และแนวคิดการออกแบบสถาปัตย์กรรมตั้งแต่อดีตจนถึงปัจจุบันมาช่วยแก้ปัญหาการออกแบบ microservice ได้ในอนาคต
Abstract
Software architecture design have 2 methods. First is Monolith design means all working combine in one service. Second, Microservice design means design by separated small services which is working separately. Moreover, Microservice design is popular for designing in a huge system. The hardest part is exchanging information between each microservice. There is an idea to use API Gateway to solve the connection problem. However, there are many more problems that couldn’t be solve so I wanted to use one popular idea of Query Language which is GraphQL combine with the API Gateway and become GraphQL Gateway. It would bring pros, cons and ideas of software architecture design from past to present. That is why GraphQL Gateway is the interesting idea to help solve the microservice problem in the future.
คำสำคัญ (Keywords)
GraphQL
Microservice
Development
API Gateway
เว็บไซต์โครงงาน
-
ที่เก็บเวอร์ชันซอร์สโค้ด
https://github.com/jitta/graphql-gateway
ผู้นำเข้าข้อมูลครั้งแรก
คมคณิต
สัจจอุตตรา
(b5810500412)
แก้ไขครั้งสุดท้าย
เมื่อ May 29, 2019, 9:03 p.m. โดย
คมคณิต
สัจจอุตตรา
(b5810500412)
สถานะการอนุมัติ
รออนุมัติ