Pytanie : Wymiana 2010 - CAS/HT/MBX z wysoki dostępność

Cześć tam,

I mieć dwa serwer z Wymiana 2010 na Wygrana 2k8 R2. Te serwer mieć CAS/HT/MBX i DAG konfigurować. Mój pytanie być… Jak móc I Wysoki Dostępność te serwer, więc I móc tylko jeden adres dla the 2 serwer, i jeżeli jeden nie udać się, the inny jeden zakładać. I Martwić się o Ładunek Równowaga, I właśnie potrzeba HA.

NLB móc sposób, ale ono być niemożliwy NLB na serwer z DAG, i I móc jakaś jakaś przyjęcie NLB products.

Does anyone móc?

Thanks

Odpowiedź : Wymiana 2010 - CAS/HT/MBX z wysoki dostępność

Pierwszy rzecz I polecać ruszać się twój egzekutor usługa na zewnątrz the pętla.  Ty naprawdę tylko potrzebować naprawdę to.  W zależności od twój urzeczywistnienie, ty móc sprawnie ono klasowy zmienna, lub ładunek elektrostatyczny który dzielić wszystkie przykład ten klasa lub prywatny członek jeżeli ten klasa potrzebować swój swój niciany basen.  Lub sposób, dopóki ty zamykać the usługowy puszek, ty być sprawnie reuse tamte nić zamiast the koszty stałe każdy czas.  Jeżeli wieloskładnikowy wezwanie ten metoda potrzebować równocześnie, ruszać się the egzekutor usługa tworzenie plecy w the metoda, ale na zewnątrz the pętla.

Ono także spojrzenie jak ty tworzyć 10 niciany basen, z 10 nić nić nić rozkaz.  The kod I dołączać przerabiać dołączać wszystko rozkaz z 10 nić.
(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:
społeczeństwo klasowy ClearDownService {
    intymny int nić;
    intymny ExecutorService executorService;

    jawny ClearDownService (int nić) {
        jeżeli (nić < 1="">= 1. ");
        }
        this.threads = nić;
        this.executorService = Executors.newFixedThreadPool (this.threads);
    }

    // I modyfikować twój iteracja kod ty mieć niektóre Kolekcja OrderModel przedmiot
    // że ty używać the iterator.  Ponieważ ty używać JDK 1.5+, swój dużo bardziej
    // iterator.next i iterator.next Generics zamiast the powrót iterator.next ().
    // I także modyfikować twój iteracja kod the obmurowany foreach konstrukcja.
    jawny kawitacyjny checkOrders (Inkasowy rozkaz) {
        // Initialize zapadka dla the sumaryczny liczba rozkaz, zamiast nić.
        // Metoda zapewniać wszystkie rozkaz przetwarzać zanim ten metoda uzupełniać
        definitywny CountDownLatch startLatch = nowy CountDownLatch (orders.size ());

        // ponieważ ty używać JDK 1.5+, łatwy i jeżeli ty używać generics
        // i the obmurowany foreach zamiast the iterator
        dla (definitywny OrderModel model: rozkaz) {
            executorService.submit (nowy Runnable () {
                jawny kawitacyjny bieg () {
                    próba {
                        Kalendarzowy teraz = Calendar.getInstance (TimeZone.getTimeZone ("Europa/Londyn"));
                        jeżeli (isEligibleForClearDown (model, master.getCleardownFields () .getClearDownReqFrom (), teraz)) {
                            jeżeli (model.getOrderFields () .hasParentOrderId ()) {
                                // dodawać wszystkie Dziecko rozkaz rezultat końcowy
                                results.add (model);
                            } inny {
                                // dodawać mateczny rozkaz the mateczny lista
                                parentOrders.add (model);
                            }
                        }
                    } w końcu {
                        // ono w w końcu blokowy zapewniać ono dostawać dzwonić dzwonić
                        // jakaś wyjątek który zdarzać się w the ciało the metoda
                        startLatch.countDown ();
                    }
                }
            });
        }
        próba {
            startLatch.await (); // czekać na wszystkie przedmiot zupełny przerób
        } chwyt (InterruptedException e) {
            LOGGER.error ("Przerywać Wyjątek podczas gdy czekać the odliczanie zapadka end.");
        }
    }
}
Inne rozwiązania  
 
programming4us programming4us