spring-boot Archive

สวัสดี Spring Cloud Gateway

ว่าง ๆ มาลองเล่น Spring Cloud Gateway กันหน่อย สายเขียน code เพื่อสร้าง API Gateway กันเองน่าจะชอบ ซึ่งก่อนหน้านี้คือ Zuul สร้างจาก Netflix ส่วนตอนนี้ใน Spring Cloud น่าจะเริ่ม migrate project ต่าง ๆ จาก Netflix มากันแล้ว เนื่องจากเป็น roadmap ที่วางกันไว้นั่นเอง มาเริ่มกันเลย

Read More…

UI ของ Spring Initializr เปลี่ยนแล้วนะ !!

ค่ำนี้เข้าไปที่หน้า web ของ Spring Initializr ซึ่งเป็นหน้าสำหรับช่วยสร้าง Spring Boot Projectพบว่าเปลี่ยนไปอย่างน่าตกใจ เลยนำข่าวมาบอกที่สำคัญใช้ง่ายขึ้นกว่าเดิม

Read More…

ว่าง ๆ มาปรับปรุงการทำงานของ Spring Boot ให้เร็วขึ้น

ปัญหาที่พบเจอในการทดสอบระบบที่พัฒนาด้วย Spring Boot เมื่อเริ่มเขียนชุดการทดสอบของระบบที่พัฒนาด้วย Spring Boot นั้น ชีวิตก็จะสบายขึ้นมาเยอะ เนื่องจาก Spring Boot ได้เตรียม Spring Boot Unit test หรือ Integration test มาให้อยู่แล้ว แต่ขั้นตอนการทำงานภายในนั้น มันจะทำการสร้าง context ขึ้นมาทุกครั้ง ดังนั้นผลที่ตามมาคือ “ความช้า” และนี่แหละคือปัญหาที่ต้องเจอ จะแก้ไขหรือปรับปรุงอย่างไร เพื่อให้ทำการทดสอบได้รวดเร็วขึ้น

Read More…

[Java] มาลองใช้งาน Test containers กัน

โดยปกติการทดสอบในระดับ integration test และ component นั้น มักจะทดสอบผ่านระบบจริง ๆ ซึ่งควบคุมได้ยาก ยกตัวอย่างเช่น การทดสอบกับ Database, Data store รวมไปถึงการทดสอบระดับ UI/Acceptance test ซึ่งต้องทดสอบผ่าน browser แน่นอนว่า การจัดการนั้นไม่ง่ายเลย แต่เมื่อเข้าสู่ยุคของ container แล้วนั้น เรื่องต่าง ๆ เหล่านี้จะง่ายขึ้น แต่แลกมาด้วยการเรียนรู้และเครื่องที่แรงขึ้น หนึ่งในเครื่องมือนั้นคือ Test containers ซึ่งเป็น library ที่พัฒนาด้วยภาษา Java 1.8 ที่สำคัญคือ ใช้งานร่วมกับ JUnit ได้เลย เหมาะมากสำหรับการทดสอบระบบงาน

Read More…

มาลองใช้งาน TICK stack กับระบบที่พัฒนาด้วย Spring Boot 2.0 กัน

ไม่ว่าระบบงานใด ๆ ก็ตามจำเป็นต้องมีระบบ monitoring เพื่อดูและวิเคราะห์ว่าประสิทธิภาพของระบบงานเป็นอย่างไร เพื่อดูและวิเคราะห์ว่าระบบงานยังคงทำงานได้ดีอยู่นะ แน่นอนว่า มีวิธีการและเครื่องมือให้ใช้งานมากมาย หนึ่งในตัวเลือกที่มีการพูดถึงคือ TICK stack ดังนั้นมาลองทำความรู้จักและใช้งานกันหน่อย โดยระบบงานที่จะใช้นั้นพัฒนาด้วย Spring Boot 2.0 นั่นเอง มาเริ่มกันดีกว่า

Read More…

มาลองใช้งาน Micrometer ใน Spring Boot 2.0 กัน

ใน Spring Boot 2.0.0.RELEASE นั้น ได้เปลี่ยนรูปแบบของ Metric ของ service จาก Actuator ไปยัง Micrometer ซึ่งแน่นอนว่า การใช้งานก็เปลี่ยนไปพอควร ดังนั้นมาลองใช้งาน Micrometer แบบง่ายกัน รวมไปถึงการใช้งานร่วมกับ Prometheus ซึ่งง่ายกว่าเดิมเยอะ

Read More…

สร้างระบบ Distributed Tracing ของระบบที่พัฒนาด้วย Spring Boot

Tracing เป็นอีกเรื่องหนึ่งที่ service หรือระบบงานต่าง ๆ ต้องมีเสมอ และมันมีประโยชน์ต่อระบบและทีมพัฒนาอย่างมาก แต่เราพบว่าระบบงานส่วนใหญ่ไม่มี หรือ มีน้อยมาก ๆ ดังนั้นเรามาลองสร้างระบบงานที่มีการ tracing การทำงานของระบบ

Read More…

ทำความรู้จักกับ Spring Boot Admin กันหน่อย

วันนี้น้องในทีมแนะนำให้รู้จัก Spring Boot Admin เมื่อลองไปดูพบว่ามันคือ ระบบจัดการและดูแลระบบงานที่พัฒนาด้วย Spring Boot พัฒนาโดยบริษัท Codecentric ยังไม่พอนะ มันยังมี User Interface ให้ใช้แบบง่าย ๆ อีกเพียบ ซึ่งในส่วนนี้พัฒนาด้วย AngularJS (เสียใจที่ไม่ใช่ Angular)

Read More…

สรุปการสอนเรื่อง SOA/Microservice ในเวลา 1 เทอม

มีโอกาสได้ไปสอนและแบ่งปันเรื่องของ SOA/Microservice เป็นเวลา 1 เทอม ที่คณะเทคโนโลยีสารสนเทศ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง จึงทำการสรุปสิ่งที่สอนและพาทำไว้นิดหน่อย ซึ่งน่าจะพอเป็นประโยชน์ต่อคนที่สนใจบ้าง

Read More…

มาทำระบบ monitoring สำหรับ Spring Boot application อย่างง่ายกัน

เครื่องมือที่ใช้งานประกอบไปด้วย Spring boot application ซึ่งจะมี 2 service คือ User service กับ Order service Prometheus สำหรับจัดเก็บข้อมูลของแต่ละ service ในรูปแบบ time series Grafana สำหรับแสดงข้อมูลในรูปแบบ graph ที่สวยงาม มาดูขั้นตอนการสร้างระบบ Monitoring อย่างง่ายกันดู

Read More…