Przewodnik po operacjach QPID

Edge dla Private Cloud w wersji 4.52.01 jest dostarczana z Qpid Broker-J 8.0.6. Na tej stronie opisujemy dotyczące pamięci i dysku komponent apigee-qpidd Edge dla Private Cloud (z brokerem opartym na Javie). Sekcje poniżej dotyczą konkretnie Apigee Przypadek użycia narzędzia Qpid i wyjaśnienie, jak dostroić go za pomocą mechanizmów konfiguracyjnych Apigee.

Qpid w Apigee

W Apigee Qpid jest używany w 2 głównych przepływach pracy:

  • Analytics
  • Zarabianie

W obu z tych przepływów pracy procesor wiadomości generuje wiadomości, które są zebrane w grupy i przesłane do systemu Qpid. W przypadku Analytics komunikaty są odczytywane przez serwer Qpid-server; w celu zarabiania, są odczytywane przez serwer ocen (część serwera zarządzania). Po przeczytaniu wiadomości grupowe są sprawdzane i przetwarzane.

W poniższych sekcjach opisano zalecane konfiguracje pamięci i dysku z Qpid. Te konfiguracje opierają się na rozmiarze pojedynczej wiadomości wynoszącej 2 KB w przypadku Analytics lub Zarabianie. Dzięki domyślny rozmiar wsadu to 50, każda wiadomość w Qpid będzie miała około 100 KB. Apigee umożliwia serwerom proxy modyfikowanie wiadomości i dodawanie do niej dodatkowych informacji (Statystyki lub Zarabianie). W skrajnych przypadkach może to znacznie zmienić rozmiar pojedynczą wiadomość i ogólną wiadomość zbiorczą w Qpid. Chociaż ogólny zalecenia dotyczące pamięci i dysku opisane w poniższych sekcjach obowiązują nawet w takich przypadkach, może być konieczne wprowadzenie dodatkowych poprawek w Qpid, aby zapewnić płynne działanie.

Pamięć

Broker Qpid korzysta z 2 typów pamięci: pamięci poza stertą i pamięci sterty. Qpid przechowuje wiadomości w poza stertą pamięcią i wykorzystuje ją do własnych zadań wewnętrznych, wiadomości do kolejek i wymian itp. W większości przypadków Apigee zaleca utrzymywanie Współczynnik 3:1 między pamięcią spoza sterty i stertą w przypadku Qpid Broker.

Komunikaty w pamięci poza stertą są zachowywane na dysku. Ponadto, jeśli całkowite wykorzystanie pamięć poza stertą przekracza określony próg, narzędzie Qpid jest skonfigurowane tak, aby przenosić wiadomości na dysk.

Domyślnie Apigee oblicza stertę i pamięć poza stertą maklera Qpid na podstawie dostępnej pamięci w węźle. Skrypty Apigee mają limit 4 GB łącznie dla sterty brokera Qpid i niezbędną pamięć. Jeśli chcesz zastąpić te limity, możesz użyć dwóch konfiguracji: poniżej, aby ustawić własne wartości dla stosu i pamięci sterowanej przez Qpid.

  • Konfiguracja pamięci sterty: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • Konfiguracja pamięci poza stertą: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

Zobacz Jak zmienić konfigurację Qpid dla o zastępowaniu konfiguracji.

Więcej informacji: Dokumentacja Apache Qpid dla pamięci

Dysk

Katalog danych brokera Qpid to $APIGEE_ROOT/data/apigee-qpidd. Logi Qpid Broker są przechowywane w regionie $APIGEE_ROOT/var/log/apigee-qpidd.

Wydajność systemu plików hostującego katalog danych ma kluczowe znaczenie dla wydajności Broker jako całość. Aby uzyskać najlepszą wydajność, wybierz urządzenie, które ma niewielkie opóźnienia i jest nie są wykorzystywane przez inne aplikacje.

Broker Qpid przechowuje wiadomości w katalogu danych. Domyślnie broker akceptuje aż system plików hostujący katalog danych będzie zapełniony w 80%. Możesz to zmienić przez zastąpienie konfiguracji pokazanej w przykładzie poniżej w każdym węźle Qpid.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

W tym przykładzie broker odrzuca nowe wiadomości, gdy system plików bazuje na 60%. pełny.

Jak zmienić konfigurację Qpid

Aby zmienić konfigurację Qpid:

  1. Utwórz lub zmodyfikuj ten plik:
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. W razie potrzeby dodaj, usuń lub zmień konfigurację. Aby na przykład zmienić maksymalną ilość pamięci sterty Qpid Broker na 6 GB, dodaj tę konfigurację zastąp w pliku:
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. Zapisz zmiany i upewnij się, że plik należy do użytkownika apigee i może go odczytywać:
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. Ponownie uruchom proces qpidd:
    ponowne uruchomienie apigee-service apigee-qpidd