2016-11-24 7 views
0

Доброго утра,нагрузка Балансировка RavenDB

Я использую RavenDB установлены как Windows Service на 2 разных серверах.

Сбой при поведении: FailoverBehavior.AllowReadsFromSecondariesAndWritesToSecondaries и репликация (master => master) между этими серверами.

Все это хорошо работает с точки зрения тиражирования.

Я хотел бы загрузить баланс RavenDB, так как я не уверен, что соединения используют оба сервера для обработки запросов, когда оба сервера работают и работают.

Есть ли разница с точки зрения распределения нагрузки из-за способа размещения RavenDB (Windows Service, IIS)

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

Я не уверен, что это правильный способ иметь дело с RavenDB.

Любая помощь будет оценена по достоинству.

спасибо.

ответ

1

балансировка нагрузки может быть установлена ​​путем установки FailoverBehavior на:

FailoverBehavior = FailoverBehavior.AllowReadsFromSecondariesAndWritesToSecondaries 
    | FailoverBehavior.ReadFromAllServers; 

См: http://ravendb.net/docs/article-page/3.5/Csharp/client-api/bundles/how-client-integrates-with-replication-bundle

Это имеет эффект делает клиент RavenDB круговой между двумя серверами.

В RavenDB 3.5 вы даже можете указать требуемые SLA, чтобы вы всегда могли использовать более быстрый сервер.

+0

Могу ли я спросить, почему поведение по отказу зависит от балансировки нагрузки? Мне это кажется непонятным, поскольку Fail-over означает, что основной сервер не работает? – MadOX

+0

Это тот же код, который обрабатывает переход на другой ресурс (низкоуровневый сетевой код, который определяет, какой сервер должен ударить) –

Смежные вопросы