Webhooks
Webhook dành cho giao tiếp máy chủ với máy chủ. Chúng hoạt động bởi một máy chủ nói với máy chủ khác rằng nó muốn dữ liệu được gửi đến một url nhất định khi có điều gì đó xảy ra.
Bài viết này nói về một số cách sử dụng webhook trong các dịch vụ phổ biến. Tổ chức này nói rất nhiều về việc sử dụng chúng trong ngữ cảnh của các API RESTful.
Websockets
Websockets là (thường) để giao tiếp giữa máy chủ với trình duyệt. Máy chủ lưu trữ một máy chủ websocket và các máy khách có thể mở kết nối đến máy chủ đó. Cách này phổ biến hiện nay chủ yếu vì nó nhanh hơn và ít tốn tài nguyên hơn so với các cách giải quyết vấn đề cũ hơn, như long-polling / COMET .
Có thể kết nối 2 máy chủ bằng cách sử dụng websockets , nhưng đó không phải là những gì chúng thường được sử dụng.
Sự nhầm lẫn
Mặc dù một trong số này là máy chủ (độc quyền) và một là (chủ yếu) là máy chủ trình duyệt, các công nghệ này thường được thảo luận ở cùng một nơi, gần giống như chúng đang giải quyết các vấn đề giống nhau. Nếu bạn nhìn lên chuỗi đủ cao, bạn sẽ thấy rằng cả hai đều giải quyết vấn đề giao tiếp "thời gian thực", nhưng chúng giải quyết các khía cạnh khác nhau của vấn đề này theo những cách rất khác nhau .
Một tình huống có thể có sự so sánh trực tiếp là nếu bạn đang xây dựng một API sẽ được sử dụng bởi máy chủ bên thứ ba. Trong tình huống đó, bạn có thể cung cấp API webhook hoặc API websocket . Cả hai đều cho phép bên thứ ba nhận cập nhật nhanh chóng:
- Nếu bạn chọn webhook, bên thứ ba đó sẽ vẫn phải tìm ra cách để đẩy những thay đổi mà bạn đang nói với họ lên trình duyệt của khách hàng của họ.
- Nếu bạn cung cấp API websocket, bên thứ ba chỉ có thể thiết lập trang web của họ để mỗi người dùng của họ kết nối trực tiếp với API websocket của bạn và máy chủ của họ phải thực hiện ít công việc hơn.