Tôi có các khách hàng cần kết nối với một quá trình máy chủ duy nhất. Tôi đang sử dụng phát hiện UDP cho khách hàng để tìm máy chủ. Tôi có máy khách và máy chủ trao đổi địa chỉ IP và số cổng, để kết nối TCP/IP có thể được thiết lập sau khi hoàn thành khám phá. Bằng cách này kích thước gói tin được giữ nhỏ. Tôi thấy rằng điều này có thể được thực hiện theo một trong hai cách sử dụng UDP:UDP Server Discovery - Khách hàng có nên gửi multicast để tìm máy chủ hoặc máy chủ nên gửi đèn hiệu thường xuyên không?
- Mỗi khách hàng gửi thông điệp phát đa hướng của riêng mình để tìm kiếm máy chủ mà máy chủ sẽ phản hồi. Máy khách có thể lặp lại việc gửi thông điệp multicast này trong các khoảng thời gian đều đặn (trong trường hợp máy chủ bị hỏng) cho đến khi máy chủ phản hồi.
- Máy chủ gửi một báo hiệu tin nhắn đa phương tiện theo các khoảng thời gian đều đặn. Các khách hàng đăng ký vào nhóm multicast và theo cách này nhận được thông điệp multicast của máy chủ và hoàn thành việc khám phá.
Trong 1. nếu có nhiều khách hàng thì ban đầu sẽ có nhiều thư được phát đa hướng (một từ mỗi khách hàng). Chỉ có máy chủ mới đăng ký và nhận tin nhắn multicast từ máy khách. Khi máy chủ đã phản hồi ứng dụng khách, máy khách ngừng gửi tin nhắn đa hướng. Một khi tất cả các máy khách đã hoàn tất việc khám phá của họ về máy chủ, không có tin nhắn multicast nào được truyền đi trên mạng nữa. Tuy nhiên, nếu máy chủ bị hỏng, thì mỗi máy khách sẽ gửi một báo hiệu tin nhắn đa phương thức trong khoảng thời gian cho đến khi máy chủ được sao lưu và có thể phản hồi.
Trong 2. chỉ máy chủ sẽ gửi báo hiệu tin nhắn đa phương thức trong khoảng thời gian đều đặn. Thông báo này cuối cùng sẽ được chuyển đến tất cả các máy khách đã đăng ký với nhóm multicast. Khi khách hàng nhận được gói tin, ổ cắm nghe UDP của máy khách sẽ bị đóng và họ không còn đăng ký với nhóm phát đa hướng nữa. Tuy nhiên, máy chủ phải tiếp tục gửi đèn hiệu đa hướng để khách hàng mới có thể khám phá nó. Nó sẽ tiếp tục gửi ra các ngọn hải đăng trong khoảng thời gian thường xuyên bất kể cho dù bất kỳ khách hàng ra yêu cầu phát hiện của họ hay không.
Vì vậy, tôi thấy ưu và khuyết điểm theo một trong hai cách. Dường như với tôi rằng # 1 sẽ dẫn đến tải nặng hơn ban đầu, nhưng tải này cuối cùng giảm xuống không. Trong # 2 máy chủ sẽ tiếp tục gửi ra một ngọn hải đăng mãi mãi.
UDP và phát đa hướng là một chủ đề khá mới đối với tôi, vì vậy tôi quan tâm đến việc tìm ra phương pháp nào sẽ là phương pháp ưa thích và điều này sẽ dẫn đến tải mạng ít hơn.
Bạn đã quyết định không sử dụng các cơ chế khám phá dịch vụ tiêu chuẩn chưa? – Duck
Khi bạn nói các cơ chế khám phá dịch vụ tiêu chuẩn, bạn có thể làm rõ những gì bạn cho là điều này. Tôi đang trong quá trình "khám phá" những lựa chọn của tôi là gì và cách tiếp cận tốt nhất để thực hiện. – Elan