Spring Cloud Eureka trong microservices

Chào mọi người,
Cho mình hỏi một chút:
Trong microservices các service được quản lí bởi bên thứ 3, ví dụ như Eureka chẳng hạn thì cơ chế hoạt động của nó ra sao và nếu cùng lúc 1000 request đến Eureka server thì nó xử lí như thế nào.
Mong mọi người ai biết có thể giải thích cho mình hiểu rõ hơn !!!
Cám ơn mọi người nhiều ạ

Hm…
In short, 1k request ấy được xử lý như bất cứ service nào khác thôi cậu. Cách xử lý phụ thuộc vào web server cậu dùng để deploy.

In detail, nếu cậu deploy eureka server bằng tomcat (version cũ <7 nha), tomcat server sẽ:

  • Dành mỗi thread trong connection pool để phục vụ 1 request.
    Mặc định, nếu tớ nhớ không nhầm, tomcat connection thread pool size là 250 (cậu tra lại giúp tớ nhé! :smile:), tức 1 eureka application phục vụ được 250 requests tại 1 thời điểm.
    750 requests còn lại sẽ được đưa vào queue để chờ được phân phối connection thread.
  • Nếu cậu muốn tăng tải eureka server, cậu cần scale nó.
    Cậu có thể form 3 nodes cluster cho eureka server. Các node này có thể tự động sync registry với nhau.
    Cậu cần 1 load balancer đặt trước cluster này để phân phối 1k request tới các node.

Cậu có thể thấy cách eureka server xử lý traffic không khác gì so với 1 application thông thường (và nó phụ thuộc vào web server mà cậu sử dụng để deploy).

Hope it helps!

4 Likes

Nếu c bít thì có thể giải thích rõ hơn về cách hoạt động của eureka server được chứ. T cám ơn c nhiều :smiley:

Uhm. Eureka là công nghệ service discovery, thường được sử dụng làm mid-tier load balancer trên AWS.
Mấy nét ngắn gọn về hoạt động của Eureka server tớ có thể đề cập như này:

  • Cách thức Eureka phát hiện service: ứng dụng của cậu cần sử dụng Eureka client (nhúng hoặc side car), và khai báo địa chỉ của Eureka server, hoặc dùng REST endpoint để liên lạc với Eureka server.
    Khi app của cậu hoạt động, Eureka client sẽ tự động đăng ký bản thân lên Eureka server. Eureka server sẽ cache lại thông tin này.
  • Services/Eureka client cứ 30s sẽ gọi Eureka server để renew registration. Nếu không, service đó sẽ tạm thời bị hủy đăng ký 90s.
  • Các Eureka server đồng bộ dữ liệu với nhau.
    Vậy nên, Eureka server hoàn toàn có thể được scale up.

Hope it helps!

5 Likes

Có vấn đề gì thắc mắc mong c giải đáp nhé. Mình cảm ơn c nhiều :sweat_smile:

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?