Về cơ bản có hai loại máy chủ đến máy chủ (S2S) kết nối. Cái đầu tiên được gọi là cổng vào hoặc vận chuyển, nhưng chúng giống nhau. Đây có lẽ là loại bạn đang tìm kiếm. Tôi không thể tìm thấy tài liệu cụ thể cho bên không phải XMPP, nhưng cách XMPP nghĩ đến việc thực hiện các bản dịch cho máy chủ kế thừa là http://xmpp.org/extensions/xep-0100.html. Loại thứ hai thực sự không được giải thích trong bất kỳ XEP bổ sung nào - đó là các kết nối XMPP s2 thông thường. Tìm "Truyền thông Máy chủ tới Máy chủ" trong RFC 3920 hoặc RFC 3920bis để cập nhật bản nháp mới nhất.
Vì bạn có người dùng và sự hiện diện của riêng bạn trên máy chủ và không phải là XMPP, các khái niệm sẽ không ánh xạ hoàn toàn với mô hình XMPP. Đây là nơi mà công việc của phương tiện đi vào. Bạn phải làm bản dịch từ mô hình của bạn thành mô hình XMPP. Trong khi đây là một số công việc, bạn có thể đưa ra tất cả các quyết định.
Điều này mang lại cho chúng tôi một trong những lựa chọn thiết kế quan trọng - bạn cần phải quyết định những thứ bạn sẽ vẽ với XMPP từ dịch vụ của bạn và những gì bạn không làm. Các mô tả về tính năng và trường hợp sử dụng này sẽ thúc đẩy cấu trúc tổng thể. Ví dụ, điều này giống như một phương tiện để nói chuyện với AOL hoặc dịch vụ chat MSN? Sau đó, bạn sẽ cần một cách để ánh xạ tương đương với rosters, sự hiện diện và giữ thông tin phiên cùng với thông tin đăng nhập và mật khẩu từ người dùng cục bộ của bạn đến máy chủ từ xa. Điều này là do giao thông của bạn sẽ cần phải giả vờ là những người dùng đó và sẽ cần phải đăng nhập cho họ. Hoặc, có thể bạn chỉ là cầu nối s2s cho trò chơi cờ vua XMPP của người khác, vì vậy bạn không cần đăng nhập trên máy chủ từ xa và chỉ có thể hành động tương tự như máy chủ email và chuyển thông tin trở lại và ra. (Với s2s bình thường kết nối phiên duy nhất sẽ được lưu trữ sẽ được xác thực SASL được sử dụng với máy chủ từ xa, nhưng ở cấp độ người dùng s2 chỉ duy trì kết nối, và không phải là phiên đăng nhập.)
Các yếu tố khác là khả năng mở rộng và mô đun ở phía bạn. Bạn đã đóng đinh một số mối quan tâm về khả năng mở rộng. Hãy xem xét việc đưa vào nhiều phương tiện để cân bằng tải. Đối với mô đun, hãy xem nơi bạn muốn đưa ra quyết định về việc phải làm gì với mỗi gói hoặc hành động. Ví dụ: làm thế nào để bạn xử lý và theo dõi dữ liệu đăng ký? Bạn có thể đặt nó vào vận tải của bạn, nhưng sau đó làm cho việc sử dụng nhiều phương tiện vận chuyển trở nên khó khăn hơn. Hoặc nếu bạn đưa ra quyết định gần gũi hơn với máy chủ cốt lõi của mình, bạn có thể có các phương tiện vận chuyển đơn giản hơn và sử dụng một số mã phổ biến nếu bạn cần nói chuyện với các dịch vụ khác ngoài XMPP. Thương mại tắt là một máy chủ lõi phức tạp hơn với nhiều khả năng dễ bị tổn thương hơn.
Nguồn
2009-09-28 18:44:08