Professional Documents
Culture Documents
TL HDSD DiscoveryMicroservice
TL HDSD DiscoveryMicroservice
TÀI LIỆU
HƯỚNG DẪN VỀ DISCOVERY TRONG MICROSERVICE
( SPRING BOOT )
LƯU HÀNH NỘI BỘ
1
Discovery trong Microservice ( Spring Boot )
Khi ta cần truy cập đến một dịch vụ, mà dịch vụ này có REST API. Vì vậy,
ta cần phải có thông tin về vị trí mạng (địa chỉ IP và port) của một service instance
để gửi yêu cầu. Trong các ứng dụng Microservices được xây dựng và triển khai
trên nền tảng điện toán đám mây. Mỗi service instance trong một ứng dụng
microservices đều được gán vị trí mạng và chúng có khuynh hướng thay đổi linh
hoạt vì những tác động khác mang đến. Do đó, việc truy tìm dịch vụ trở nên khó
khăn cần một kỹ thuật tìm kiếm phức tạp hơn.
Service Discovery tương tự như một Domain Name Server: để mỗi service
hoạt động, trước đó cần kết nối đến Service Discovery để đăng ký địa chỉ IP, port,
tên service, đồng thời lấy danh sách các service khác.
Giúp tìm các microservice đang hoạt động và vị trí location của nó
o Client-side discovery: Mô hình này quy định rằng các client sẽ phải xác
định location của các service khả dụng và yêu cầu cân bằng tải (load
balancing - tối đa hóa thông lượng, giảm thời gian đáp ứng và tránh tình
trạng quá tải trên máy chủ).
2
Client hoặc API-Gateway sẽ có được location của một service
instance bằng cách truy vấn một service registry. Sau khi biết được
location của service, phía client sử dụng một thuật toán cân bằng tải
để chọn ra service khả dụng để gửi yêu cầu.
Mô hình này giúp ta đối phó với việc vị trí mạng không ổn định của mỗi
dịch vụ bằng cách:
3
Khi khởi động service, ghi location vào Service Registry và xóa
bỏ khi service instance này kết thúc.
o Server-side discovery:
Client hoặc API-Gateway gửi request đến bộ cân bằng tải. Bộ cân bằng tải
đó sẽ gọi đến Service registry để định tuyến mỗi yêu cầu tới một service
instance có sẵn. Cũng giống như mô hình client-side discovery, các
instance service được đăng ký và hủy đăng ký với Service Registry.
2. Eureka Service
Là một discovery trong mô hình Microservice của Spring Boot