W jaki sposób udostępniasz niestandardową konfigurację topologii burzowej? Na przykład, jeśli mam zbudowaną topologię, która łączy się z klastrem MySQL i chcę mieć możliwość zmiany serwerów, z którymi muszę się połączyć bez ponownej kompilacji, w jaki sposób mogę to zrobić? Moim preferencją byłoby użycie pliku konfiguracyjnego, ale moim zmartwieniem jest to, że sam plik nie jest wdrażany w klastrze, w związku z czym nie zostanie uruchomiony (chyba że rozumiem, w jaki sposób działa klaster, jest wadliwy). Jedyny sposób, jaki dotychczas widziałem, aby przekazać opcje konfiguracyjne do topologii burzy w środowisku wykonawczym, to parametr wiersza polecenia, ale jest to kłopotliwe, gdy uzyskasz dużą liczbę parametrów.Konfiguracja topologii burzowej
Jedna myśl polegała na wykorzystaniu skryptu powłoki, aby odczytać plik w zmiennej i przekazać zawartość tej zmiennej jako ciąg do topologii, ale chciałbym, aby było to trochę bardziej czyste, jeśli to możliwe.
Czy ktoś jeszcze to napotkał? Jeśli tak, jak to rozwiązałeś?
EDIT: Wydaje
potrzebować, aby zapewnić więcej wyjaśnień. Mój scenariusz jest taki, że mam topologię, którą chcę móc wdrażać w różnych środowiskach bez konieczności rekompilacji. Normalnie utworzyłbym plik konfiguracyjny, który zawierałby takie parametry, jak parametry połączenia z bazą danych i które zostały przekazane. Chciałbym wiedzieć, jak zrobić coś takiego w Storm.
Sądzę, że sprawiedliwym pytaniem jest pytanie, dlaczego nie dokonać rekompilacji? Czas na zbudowanie słoika nie powinien być zbyt duży. –
Nie mam kompilatora w systemach, do których zostaną wdrożone. Połączenia z dowolną bazą danych, na przykład, będą inne, dlatego muszę mieć możliwość zmiany tej części konfiguracji bez konieczności ponownej kompilacji. Nie jestem też tym, który wykona wdrożenie, więc musi być prosty. Moje obecne rozwiązanie polega na wykorzystaniu obiektu Properties i odczytaniu konfiguracji z pliku. Następnie zapełniam obiekt Burza Config, dzięki czemu wszystkie opcje są dostępne dla wszystkich śrub. Właśnie przedrostek "nazwa" śruby do opcji dla prostej segregacji. – blockcipher
O ile nie zrozumiałem cię źle, robimy to za pomocą Flux. http://storm.apache.org/releases/2.0.0-SNAPSHOT/flux.html Możesz umieścić konfigurację środowiskową w osobnych plikach i dodać je do sekcji zawiera? – ndtreviv