2010-08-20 30 views
5

Tôi có một ứng dụng hoạt động tốt trên một máy chủ duy nhất. Bây giờ khách hàng của tôi muốn chuyển nó đến một môi trường cân bằng tải. Những thứ có khả năng cắn tôi khi làm điều này?Di chuyển ứng dụng Asp.net sang môi trường cân bằng tải

Hiện nay tôi biết

  • trạng thái phiên, và
  • chìa khóa máy.

Cả hai loại này được mô tả here, ví dụ: vì vậy, tôi đang tìm kiếm những điều bổ sung cho điều này.

Những similarquestions, nhưng địa chỉ đầu tiên cân bằng tải nói chung và tôi đang tìm hướng dẫn di chuyển và địa chỉ thứ hai giải quyết một vấn đề cụ thể.

Trả lời

2

Một điều bạn có thể gặp phải là tăng tải trên máy chủ cơ sở dữ liệu của bạn. Nếu bạn thực hiện bất kỳ bộ nhớ đệm nào của máy chủ, bạn sẽ được sử dụng để truy cập vào cơ sở dữ liệu một lần cho một tập dữ liệu nhất định, lưu trữ dữ liệu và sau đó sẽ không chuyển sang cơ sở dữ liệu cho đến khi bộ nhớ cache hết thời gian chờ. Đây là một chiến lược tốt cho dữ liệu thường được truy cập.

Trong môi trường cân bằng tải, các yêu cầu tiếp theo có thể đến các máy chủ khác nhau và cơ sở dữ liệu sẽ được nhấn hai lần cho cùng một dữ liệu. Hoặc nhiều hơn nếu bạn có nhiều hơn 2 máy chủ. Đây không phải là xấu trong chính nó, nhưng bạn sẽ được khuyên nên giữ một mắt trên đó. Nếu cơ sở dữ liệu đang xếp hàng, lợi ích của việc chạy webfarm có thể bị từ chối. Như thường lệ, kiểm tra điểm chuẩn, tiểu sử và chạy.

Một cách xung quanh vấn đề này là có phiên cố định. Đây là một phương pháp dựa trên bộ định tuyến. khi một phiên người dùng được thiết lập, tất cả các yêu cầu từ người dùng đó được định tuyến đến cùng một máy chủ. Điều này có nhược điểm của nó, đáng chú ý nhất, giảm tiềm năng hiệu quả của cân bằng tải, chưa kể đến các vấn đề khi bạn mất một máy chủ. Hơn nữa, nó sẽ chỉ giúp đỡ khi bạn đang lưu vào bộ nhớ cache chủ yếu là dữ liệu người dùng cụ thể, chẳng hạn như kết quả tìm kiếm được phân trang, chỉ được lưu trong bộ nhớ cache trong một thời gian ngắn.

Một giải pháp khác là có bộ nhớ cache được phân phối, trong bộ nhớ, chẳng hạn như memcached, Velocity hoặc NCache. Có những người khác là tốt, nhưng đây là những người mà tôi đã làm việc với.

Một điều cần chú ý, không liên quan đến điều này là: Cách bạn xử lý các tệp tải lên từ người dùng của mình. Nhiều trang web cho phép người dùng tải lên tệp. Nếu các tệp như vậy trước đây chưa được lưu vào một cửa hàng trung tâm, chẳng hạn như cơ sở dữ liệu hoặc chia sẻ tệp chung, chúng sẽ cần phải có.

0

Nhìn vào this article mô tả một số mẹo liên quan đến việc chuẩn bị ứng dụng asp.net để cân bằng tải.

+1

liên kết xấu. Đó là lý do tại sao bạn không nên để liên kết như một câu trả lời – Phil

Các vấn đề liên quan