Как реализовать балансировку WCF-серверов - PullRequest
1 голос
/ 14 июня 2011

У меня есть некоторые бизнес-функции, реализованные в службах WCF, которые должны быть развернуты на нескольких рабочих станциях. Физически некоторые рабочие станции размещены в Датацентре «А», а некоторые в Датацентре «Б».

Клиенты должны использовать бизнес-функции, не зная, сколько у меня рабочих станций и где они размещены.

Особых требований нет (до сих пор, но все может кардинально измениться), как мы должны выбирать рабочую станцию ​​для обслуживания клиентского запроса (будем учитывать нагрузку на процессор, общее время отклика, историю отказов и т. Д.)

По крайней мере, есть несколько вариантов реализации балансировки:

Один из вариантов, о котором я думаю, - это использовать два фасада IIS Web Server (один для DataCenter "A" и один DataCenter "B"), которые делегируют вызовы рабочим станциям за ними. Фасады IIS должны быть объединены в кластер с системной балансировкой сети.

Или, может быть, я буду реализовывать свои службы WCF для размещения с IIS (я полагаю, что должна быть проблема, чтобы все они были видны внешним клиентам)

Или, может быть, я реализую усложненную посредническую службу, которая анализирует нагрузку на процессор и время отклика рабочей станции?

...