Câu hỏi đầu tiên của tôi là, tôi thường đọc về những người sử dụng nhiều máy chủ chuyên dụng để chạy trang web của họ và xử lý truy vấn từ người dùng. Nhưng làm thế nào để họ chính xác làm điều này? Ý tôi là, khi tôi nhập tên miền, DNS sẽ phân giải bản đồ thành địa chỉ IP, nhưng tôi bị mất sau đó .. có một số kiến trúc master/slave ở đó để tải các yêu cầu đến cân bằng giữa hàng trăm (tiềm năng) máy chủ?Làm thế nào để nhiều máy chủ hoạt động đồng bộ với ứng dụng web?
Nếu đúng như vậy, làm thế nào để các máy chủ khác nhau, chia sẻ dữ liệu (cơ sở dữ liệu ví dụ)? Họ sẽ được kết nối với cùng một đĩa cứng?
Trả lời
ultramonkey sẽ cung cấp cho bạn một mô tả tốt về làm thế nào để cân bằng tải trên nhiều máy chủ, do đó bạn nhìn thấy 1 địa chỉ IP nhưng kết nối được chuyển đến một trong nhiều máy chủ (với khả năng chịu lỗi bao gồm).
Nếu bạn không có máy chủ web bằng cùng một bộ nhớ (lưu trữ chung có thể phức tạp, bạn phải sử dụng SAN với hệ thống tệp 'được chia sẻ' như GFS hoặc cơ sở dữ liệu), sau đó bạn nên bật sticky sessions bộ định tuyến mà mỗi khách hàng sẽ chọn một máy chủ để giao tiếp với lần đầu tiên và tiếp tục với máy chủ đó. Điều này ít bị lỗi hơn (nhưng trên web bạn sẽ phải làm mới một kết nối bị hỏng để bắt đầu lại) nhưng dễ dàng hơn nhiều cho kiến trúc sư (và nhanh hơn vì mỗi máy chủ web có thể vẫn độc lập)
Vấn đề khác bạn ' d cần một tình huống chịu lỗi thực sự là xác định vị trí các máy chủ vật lý cách xa nhau, điều này làm tăng các vấn đề về hiệu suất cho hầu hết các thiết kế chia sẻ (nghĩa là bạn không thể đặt tất cả các máy chủ của mình trên SAN nếu chúng ở các quốc gia khác nhau), để sử dụng phương pháp tiếp cận nhiều máy chủ, sử dụng một tên DNS duy nhất và sao chép dữ liệu giữa chúng thường xuyên. DNS load balancing có thể là cách dễ nhất để sử dụng nhiều máy chủ web dưới dạng một trang web duy nhất. Trong những trường hợp này, DB thường có thể là một cơ sở dữ liệu duy nhất mà tất cả các máy chủ giao tiếp với, hoặc có thể được chia sẻ, sử dụng phân cụm hoặc thường xuyên đăng nhập để đảm bảo bạn có sẵn sàng sao lưu trực tuyến. . Đăng nhập-vận chuyển là phổ biến hơn cho các máy chủ sao lưu hơn là nằm ở xa.
1) Bạn có thể sử dụng NLB (Network Load Balancing) - nó sẽ sử dụng cùng một IP cho tất cả các máy chủ trong các trang trại http://en.wikipedia.org/wiki/Network_Load_Balancing_Services http://technet.microsoft.com/en-us/library/cc759510.aspx
2) SQL Clustering cho DB và một tập tin phổ biến lưu trữ cho dữ liệu không liên quan http://www.sql-server-performance.com/articles/clustering/clustering_intro_p1.aspx
- 1. Không đồng bộ so với máy chủ socket đồng bộ cho ứng dụng thời gian thực
- 2. Ứng dụng Android đồng bộ hóa dữ liệu với máy chủ phụ trợ như thế nào?
- 3. Máy chủ web hoạt động như thế nào?
- 4. Làm thế nào để máy chủ nhiều trang web với nginx/hành khách?
- 5. Scala: làm thế nào để nhúng một máy chủ web nhỏ vào một ứng dụng scala?
- 6. Làm thế nào để triển khai một ứng dụng Rails không đồng bộ theo chủ đề?
- 7. Làm thế nào để kiểm tra ứng dụng mở trên máy chủ cục bộ
- 8. Đồng bộ hóa các chỉ mục Lucene.net trên nhiều máy chủ ứng dụng
- 9. Làm thế nào để làm cho phản ứng bình phản ứng với máy khách một cách không đồng bộ?
- 10. Làm cách nào để đồng bộ hóa hai hoặc nhiều máy chủ Mercurial?
- 11. Máy chủ QTcpS chậm với nhiều khách hàng đồng thời
- 12. FastCGI hoạt động như thế nào trên máy chủ web (ví dụ: Apache 2.2+)?
- 13. Làm cách nào để đồng bộ hóa ứng dụng thư khách trên máy tính để bàn với máy chủ Exchange Activesync?
- 14. Làm thế nào để chạy nhiều ứng dụng Ruby (Rack) nhỏ trên một máy chủ?
- 15. Ứng dụng Android với nhiều hoạt động
- 16. Sử dụng RACCommand với hoạt động mạng không đồng bộ
- 17. Làm cách nào để đồng bộ hóa đồng hồ của máy tính khi khởi động?
- 18. trình mã hóa hoạt động tốt trên máy cục bộ nhưng không hoạt động trên máy chủ web. Lỗi 404
- 19. ứng dụng web tồn tại trên cả máy chủ web IIS cục bộ và máy chủ web IIS Express
- 20. làm thế nào để sử dụng một máy chủ sonar trên nhiều máy
- 21. Máy chủ web/Servlet tốt cho ứng dụng web Clojure?
- 22. Giữ ứng dụng iPhone đồng bộ với ứng dụng GWT
- 23. Làm cách nào để triển khai ứng dụng máy chủ socket không đồng bộ hiệu suất cao trong PHP?
- 24. Nhiều ứng dụng mod_wsgi trên một máy chủ ảo chỉ đạo để sai ứng dụng
- 25. Sử dụng NuSoap hoạt động trên máy cục bộ nhưng không phải máy chủ
- 26. Đồng bộ hóa các ứng dụng web trong một cụm
- 27. Làm thế nào để đồng bộ hóa cơ sở dữ liệu Android với một máy chủ SQL trực tuyến?
- 28. Sử dụng Capistrano để triển khai ứng dụng Rails cho nhiều máy chủ web
- 29. cách tạo ứng dụng Angular.js ngoại tuyến với đồng bộ hóa máy chủ khi có sẵn
- 30. Tạo cơ sở dữ liệu web/máy chủ để sử dụng với ứng dụng android