2008-09-23 26 views
7

Chúng tôi sử dụng BigIP để cân bằng tải giữa hai máy chủ IIS của chúng tôi. Gần đây chúng tôi đã triển khai một dịch vụ WCF được lưu trữ trên IIS 6 trên hai máy chủ Windows Server 2003R2 này.Làm thế nào bạn có thể tải số dư một IIS 6 lưu trữ WCF Dịch vụ?

Mỗi máy chủ được định cấu hình với hai tiêu đề máy chủ: một cho địa chỉ trình cân bằng tải, sau đó là tiêu đề máy chủ thứ hai chỉ trỏ đến máy chủ đó. Bằng cách đó chúng ta có thể tham khảo một máy chủ cụ thể trong nhóm cân bằng tải để gỡ lỗi.

Vì vậy, khi chúng tôi chạy Chúng tôi ngay lập tức đã nhận lỗi:

This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. Parameter name: item

tôi đã làm một số nghiên cứu và chúng tôi có thể thực hiện một bộ lọc để cho nó bỏ qua một trong những đội chủ nhà, nhưng sau đó chúng tôi không thể truy cập vào máy chủ từ địa chỉ đó.

<serviceHostingEnvironment> 
    <baseAddressPrefixFilters> 
     <add prefix="http://domain.com:80"/> 
    </baseAddressPrefixFilters> 
</serviceHostingEnvironment> 

giải pháp tốt nhất trong trường hợp này mà sẽ cho phép chúng tôi để đạt một dịch vụ WCF qua http://domain.com/service.svchttp://server1.domain.com/service.svc là gì?

Nếu chúng ta nên tạo ServiceFactory của riêng mình như một số trang web đề xuất, có ai có bất kỳ mã mẫu nào về điều này không?

Bất kỳ trợ giúp nào được đánh giá cao.

EDIT: Chúng tôi sẽ cần có thể truy cập dịch vụ WCF từ một trong hai địa chỉ, nếu có thể.

Cảm ơn bạn.

Trả lời

1

On BIGIP của bạn Tạo 2 máy chủ ảo mới http://server1.domain.com/ http://server2.domain.com/

tạo ra một hồ bơi cho mỗi VS chỉ với máy chủ cụ thể trong nó - vì vậy sẽ không có cân bằng tải thực tế và tiếp cận nó như vậy. Nếu bạn là ngắn hạn về bên ngoài IP CỦA bạn vẫn có thể sử dụng địa chỉ IP giống như tên miền sản xuất của bạn và chỉ sử dụng một irule chỉ đạo giao thông đến hồ bơi thích hợp

Hope this helps

0

URL mà nó sử dụng dựa trên các ràng buộc trong IIS. Trang web có nhiều hơn một ràng buộc không? Nếu có, hoặc là dịch vụ WCF được sử dụng bởi nhiều trang web? Nếu có, thì bạn là SOL AFAIK. Chúng tôi đã gặp phải vấn đề này. Về cơ bản, có thể chỉ có một liên kết IIS cho HTTP, nếu không nó sẽ bom.

Ngoài ra, đây là thông tin về implementing a ServiceHostFactory. Điều đó S work làm việc nếu nó có thể là dịch vụ WCF của bạn chỉ có thể truy cập thông qua 1 địa chỉ (không may cho chúng tôi, điều này là không thể).

+0

Có nó có thêm một sự ràng buộc như tôi nói, "Mỗi máy chủ được cấu hình với hai tiêu đề máy chủ: một cho địa chỉ cân bằng tải, và sau đó là một tiêu đề máy chủ thứ hai chỉ trỏ đến máy chủ đó." Cả hai đều sử dụng giao thức HTTP. –

0

Khi bạn cần kiểm tra một máy cụ thể, bạn có thể "bỏ qua" cân bằng tải và đảm bảo đúng tiêu đề máy chủ được gửi tới keeep WCF bằng cách chỉnh sửa tệp "máy chủ" trên máy mà bạn đang thử nghiệm , ví dụ:

10.0.0.11 đến 10.0.0.16 là sáu máy chủ nằm trong cụm "cluster.mycompany.local", với địa chỉ IP cân bằng tải là 10.0.0.10. Khi thử nghiệm, bạn có thể thêm một dòng vào máy chủ lưu trữ tệp có nội dung "10.0.0.13 cluster.mycompany.local" để có thể nhấn máy thứ ba trong cụm trực tiếp.

+0

Vâng, tôi bắt đầu nghĩ rằng các tiêu đề máy chủ lưu trữ sẽ không hoạt động với WCF. Nếu tôi không nhận được bất kỳ phản hồi nào khác, tôi sẽ chấp nhận điều này. –

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