spring-boot Archive

มาทำการ deploy Spring Boot app บน Azure Spring Cloud กัน

หลังจากก่อนหน้านี้ Microsoft Azure จับมือกับ Pivotal ทำการเปิดบริการ สำหรับการ deploy spring Boot application บน Microsoft Azure ได้ ภายใต้ชื่อบริการ Azure Spring Cloud ซึ่งทำงานอยู่บน Kubernetes cluster ในตอนนี้ได้เปิดบริการเป็น public preview version นั่นหมายความว่าเราสามารถลองเข้าไปใช้งานได้แล้ว ดังนั้นมาลองใช้งานกันดู

Read More…

มาใช้งาน Lazy Initialization ใน Spring Boot 2.2.0 กัน

หลังจากที่ Spring Boot 2.2.0 ออกด้วย final ออกมาให้ใช้งาน มีการปรับปรุงหลาย ๆ อย่าง หนึ่งในนั้นคือ การปรับปรุงประสิทธิภาพของการทำงานให้เร็วขึ้น นั่นก็คือ Lazy initialization ช่วยลดเวลา startup ของ application นั่นเอง รวมทั้งยังลดจำนวนการใช้งานหน่วยความจำอีกด้วย น่าจะทำให้การพัฒนา service ดีขึ้นอีกด้วย

Read More…

Azure Spring Cloud :: อีกหนึ่งแนวทางใน deploy Spring Boot application

ทาง Microsoft Azure และ Pivotal จับมือกันเปิดบริการใหม่ชื่อว่า Azure Spring Cloud (Private Preview) ช่วยทำให้เราสามารถ deploy ระบบงานที่พัฒนาด้วย Spring Boot และ Spring Cloud แน่นอนว่าอยู่ในระบบของ Microsoft Azure เบื้องหลังของการ deploy นี้จะอยู่บน Kubernetes (AKS)

Read More…

สวัสดี 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…