Вопрос : Обмен 2010 - CAS/HT/MBX с высоким наличием

Hi там,

I имеет 2 серверов с обменом 2010 на выигрыше 2k8 R2. Эти серверы имеют установленные CAS/HT/MBX и DAG. Мое вопрос в том, что… Как могу я сделать высоким наличием этих сервера, поэтому я могу иметь только один адрес для сервера 2, и если одно терпит неудачу, то другое одно примет. Я не потревожен о балансе нагрузки, мне как раз нужно HA.

NLB smog быть дорогой, но невозможно установить NLB на сервере с DAG, и я не могу использовать посредник NLB products.

Does, котор любое может помочь мне?

Thanks
class=

Ответ : Обмен 2010 - CAS/HT/MBX с высоким наличием

Первая вещь, котор я порекомендовал бы двигает ваше обслуживание выполнителя вне петли.  Вам реально только нужно создавать то раз.  В зависимости от вашей вставкы, вы можете мочь сделать им перемеююый типа, то static который поделен всеми примерами этого типа или приватного члена если каждому типу нужен свой собственный бассеин резьбы.  Любая дорога, покуда вы не закроете обслуживание вниз, вы будете повторно использовать те резьбы вместо производить накладные расходы начинать их каждое время.  Если множественным звонокам к этому методу будет нужно побежать одновременно, то двиньте творение обслуживания выполнителя назад в метод, но вне петли.

Она также смотрит как вы создает 10 бассеинов резьбы, с 10 резьбами каждым для того чтобы обрабатывать каждый заказ.  Кодий, котор я прикреплялся переработано для того чтобы обрабатывать все обеспечило заказы с 10 резьбами.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
общественный тип ClearDownService {
    приватные резьбы int;
    приватное executorService ExecutorService;

    общественное ClearDownService (резьбы int) {
        если (резьбы < 1="">= 1. «);
        }
        this.threads = резьбы;
        this.executorService = Executors.newFixedThreadPool (this.threads);
    }

    // iий доработало ваше Кодего итерирования для того чтобы принять вы имеет некоторое собрание предметов OrderModel
    // что вы используете для того чтобы получить iterator.  В виду того что вы используете JDK 1.5+, свой очень больше
    // четкое и ремонтопригодное использовать Generics вместо бросать возвращение iterator.next ().
    // iий также доработало ваше Кодего итерирования для использования встроенной стройки foreach.
    checkOrders публики пустые (заказы собрания) {
        // выступает защелка с иничиативой для общего количества заказов, вместо резьб.
        //, котор это обеспечивает все заказы обработаны прежде чем этот метод завершает
        окончательное startLatch CountDownLatch = новое CountDownLatch (orders.size ());

        // в виду того что вы используете JDK 1.5+, более легкий для того чтобы прочитать и поддержать если вы используете generics
        // и встроенное foreach вместо iterator
        для (окончательная модель OrderModel: заказы) {
            executorService.submit (новое Runnable () {
                побежали свободное пространство публики, котор () {
                    попытка {
                        Календар теперь = Calendar.getInstance (TimeZone.getTimeZone («Европ/Лондон»));
                        если (isEligibleForClearDown, то (модель, master.getCleardownFields () .getClearDownReqFrom (), теперь)) {
                            если (model.getOrderFields () .hasParentOrderId, то ()) {
                                // добавляет все заказы ребенка к окончательному результату
                                results.add (модель);
                            } еще {
                                // добавляет заказы родителя к списку родителя
                                parentOrders.add (модель);
                            }
                        }
                    } окончательно {
                        // кладя это в окончательно блок обеспечивает он получает вызванным независимо
                        // всех исключений происходят в теле метода
                        startLatch.countDown ();
                    }
                }
            });
        }
        попытка {
            startLatch.await (); ожидание // для всех предметов к вполне обрабатывать
        } задвижка (InterruptedException e) {
            LOGGER.error («прерванное исключение пока ждущ защелку комплекса предпусковых операций до end.");
        }
    }
}
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us