Tôi đang tìm một số công nghệ để nghiên cứu. Tôi ngạc nhiên rằng bạn có thể vào giao diện [chèn trang web lớn ở đây], cập nhật cài đặt và trong vài giây nó được đẩy ra để nó hoạt động trên bảng. Một ví dụ tốt về điều này là adwords. Nếu bạn truy cập vào adwords và thay đổi chiến dịch, các cài đặt đó được lưu trữ trên máy chủ có id duy nhất. Mã quảng cáo gọi máy chủ có id đó và thông tin (kích thước, màu sắc, v.v.) được kéo lên tức thì để hiển thị quảng cáo. Làm thế nào mà Google có thể đẩy nó ra hàng trăm ngàn máy chủ nhanh như vậy? Họ đang sử dụng loại hệ thống db nào?Làm cách nào để các trang web lớn (Google, Facebook, v.v.) truyền bá thông tin tới tất cả các máy chủ trong thời gian thực?
Trả lời
Google đã xuất bản tài liệu nghiên cứu cho Google File System (hoặc "BigFiles" của nó như đã từng biết) và BigTable, cả hai đều được sử dụng rộng rãi trong các dịch vụ của họ. Những người có lẽ sẽ làm cho đọc tốt, trong và của chính họ và bởi vì họ có thể trích dẫn trước nghệ thuật.
Tôi biết rằng Facebook sử dụng ngang hàng để đẩy cập nhật trên máy chủ của họ.
Máy chủ đầu tiên nhận được bản cập nhật, sau đó anh ấy gửi cho một số người khác làm điều tương tự .. và cho đến khi bản cập nhật nằm trên tất cả máy chủ của họ!
Tôi đã xem xét các thông tin tương tự.
Tìm "Dữ liệu có cấu trúc".
Chi tiết cụ thể: MojoDB, CouchDB. Tìm kiếm các so sánh trên trang web mojodb.
Facebook đã tạo nguồn mở Cassandra (phân phối cơ sở dữ liệu). Tôi nghĩ rằng họ và nhiều người khác sử dụng nó ngay bây giờ.
Cũng tìm khung công tác Hadoop và Map/Reduce, như một vấn đề đáng quan tâm.
Bạn có thể muốn đọc cách Oracle đã xây dựng RAC để truyền dữ liệu qua nhiều DB: http://download.oracle.com/docs/cd/B14117_01/server.101/b10727/ha_strea.htm
- 1. Nhắn tin qua đám mây của Google gửi thông báo tới tất cả các thiết bị
- 2. Ngừng nhận thông tin cập nhật theo thời gian thực cho một trang Facebook
- 3. Gửi thông tin xác thực giữa các trang web
- 4. Làm cách nào để các trang web lớn thực hiện các quyền cấp hàng?
- 5. Làm cách nào để truyền thông tin phạm vi tới trình biên dịch C++?
- 6. Tích hợp sạch thông tin đăng nhập từ Facebook, Google, Twitter, v.v. vào CakePHP?
- 7. Tạo trang web HotTowel bằng thông tin đăng nhập (facebook, twitter, google, microsoft)?
- 8. Làm cách nào để tạo bố cục tương tự cho tất cả các trang web
- 9. Truyền phát thông điệp UDP tới tất cả các card mạng hiện có
- 10. jQuery: Làm thế nào để ngừng truyền bá Ctrl + A?
- 11. Gửi một lượng lớn dữ liệu được xử lý thời gian thực qua UDP tới iPhone từ máy chủ
- 12. Phát một tin nhắn tới tất cả các máy có sẵn trên WiFi
- 13. Làm cách nào để thêm thông tin đóng dấu thời gian vào các tạo tác Maven?
- 14. Làm cách nào để xử lý các tệp tải lên rất lớn trong máy chủ web Erlang?
- 15. Làm cách nào để vẽ chính xác các vectơ dữ liệu lớn ở tất cả các mức thu phóng trong thời gian thực?
- 16. Làm cách nào để nhận IP của tất cả các máy chủ trong mạng LAN?
- 17. Tôi làm cách nào để truy xuất các bản ghi được cập nhật trong thời gian thực? (thông báo đẩy?)
- 18. Làm thế nào để truyền bá tempdb qua nhiều tệp?
- 19. Làm cách nào để lưu trữ các tin nhắn trò chuyện trong thời gian thực trong cơ sở dữ liệu?
- 20. Trò chuyện trong thời gian thực với thông báo đẩy
- 21. Tôi có thể phát sóng tới tất cả các máy khách WebSocket
- 22. Làm thế nào để bạn triển khai một trang web cho máy chủ web của bạn?
- 23. Có thực hành tốt để ẩn thông tin máy chủ web trong tiêu đề HTTP không?
- 24. Làm tất cả các máy chủ IRC gửi 005 RPL_ISUPPORT?
- 25. Bao gồm javascript tới các trang web của google
- 26. Làm cách nào để xóa tất cả các khoảng thời gian?
- 27. Làm cách nào để truyền chuỗi thô tới các lệnh thông qua dòng lệnh trong PowerShell?
- 28. Làm cách nào để truyền thông tin từ một servlet đến trang JSP
- 29. Liệt kê tất cả các trang web trong IIS C#
- 30. Chụp tất cả các Tin nhắn Windows
Bất kỳ tên hoặc lý thuyết phần mềm nào tôi có thể nghiên cứu? –