[Microservice] Dựng Microservice web bằng Spring Boot và Eureka [Phần 1]

Microservices và Spring Cloud

Microservices là giải pháp tách một hệ thống lớn thành những thành phần độc lập, dễ dàng phát triển, kiểm thử và triển khai. Spring Cloud là một dự án con của Spring được sử dụng để phát triển các ứng dụng phân tán. Dự án này làm việc tốt với hệ thống microservices. Spring Cloud được xây dựng trên nền tảng Spring Boot để giảm bớt cấu hình phức tạp và dễ dàng cài đặt.

Xây dựng Microservice và Gateway

Trong series này, chúng ta sẽ tìm hiểu cách xây dựng một hệ thống microservice bằng Spring Boot và Eureka, một dự án trong Spring Cloud. Phần đầu tiên sẽ tập trung vào việc tạo các microservice và gateway.

img_1

Trước khi đi vào chi tiết, chúng ta cần tạo các service registry, image, gallery và một gateway. Gallery service sẽ lấy những bức ảnh từ Image service và sắp xếp chúng thành một album ảnh.

Tạo Eureka server

Eureka server là một máy chủ dùng để quản lý và đặt tên cho các service. Chúng ta cần một server như vậy để tránh việc hardcode địa chỉ IP của mỗi microservice. Eureka server sẽ tự động cập nhật các địa chỉ IP của service và gỡ bỏ service nếu không nhận được thông báo từ chúng.

Để tạo Eureka server, chúng ta sẽ sử dụng Maven để quản lý các dependencies. Lưu ý rằng mỗi component trong microservice được dựng một cách độc lập. Chúng ta sẽ tạo một project Spring Boot mới và khai báo các dependencies cần thiết trong file pom.xml.

Sau đó, cấu hình các thông số trong file application.properties để khởi tạo Eureka server.

Đơn giản chỉ với một vài bước như vậy, chúng ta đã tạo được một Eureka server để quản lý các service trong hệ thống.

Tạo Image service

Image service là một service độc lập trong kiến trúc microservice. Chúng ta sẽ xây dựng image service như một nguồn để chứa và cung cấp các bức ảnh. Mỗi bức ảnh sẽ có một id, tựa đề và địa chỉ url.

Cũng như Eureka server, chúng ta sẽ tạo một project Spring Boot mới nhưng sử dụng Eureka Client để đăng ký với Eureka server. Sau đó, cấu hình file application.properties để kết nối với Eureka server.

Chúng ta cũng sẽ tạo các entity và controller để xử lý các request từ client.

Tạo Gallery service

Gallery service là một service khác trong hệ thống microservice. Nó sẽ gọi đến image service thông qua các endpoint đã được tạo ở trên và sử dụng kết quả nhận được để tạo một album ảnh.

Tương tự như các service trước, chúng ta tạo một project Spring Boot mới và sử dụng Eureka Client để đăng ký với Eureka server. Cấu hình các thông số trong file application.properties để kết nối với Eureka server.

Chúng ta sẽ khai báo một bean RestTemplate trong class main để gọi đến image service. Sau đó, tạo các entity và controller để xử lý request từ client.

Tạo Zuul Gateway

Mỗi khi chúng ta gọi đến một service trong hệ thống từ trình duyệt, chúng ta không thể gọi trực tiếp bằng tên service mà cần thông qua một gateway. Zuul là một gateway, proxy và trung gian giữa người dùng và các service trong hệ thống.

Chúng ta tạo một project Zuul Gateway mới và sử dụng Eureka Client để đăng ký với Eureka server. Cấu hình thông số trong file application.properties để định tuyến các request đến các service tương ứng.

Với bốn bước trên, chúng ta đã xây dựng xong bộ khung cho hệ thống microservice. Bây giờ chỉ cần start lên và từ đó, chúng ta có thể gọi các service trong hệ thống một cách dễ dàng.

Để biết thêm chi tiết về cách xây dựng hệ thống microservice bằng Spring Boot và Eureka, hãy truy cập https://tubean.github.io/2018/12/microservice-springboot-eureka-part2/https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-intro-to-microservices-part-1-c0d24cd422c3.

HEFC – https://www.hefc.edu.vn/

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…