Zbudowałem warstwę wykrywania usług na Zookeeperze w celu znalezienia usług Thrift w rozproszonym środowisku. Szukam najlepszego sposobu na uruchomienie tych usług w środowisku produkcyjnym.Wdrażanie i serwowanie usługi oszczędzania
Obecnie odbywa się to poprzez pakowanie wojny, która zostanie wdrożona na serwerze Tomcat. Podczas tworzenia serwletu tworzony jest Spring ApplicationContext, który tworzy wewnątrz Tomcata TThreadPoolServer
.
nie podoba mi się to na kilka powodów:
- To sprawia Tomcat rodzaj bezużyteczne, a on czuje się jak hack, aby ułatwić łatwe wdrażanie
- Unika łączenia Tomcat wątek i wszystko logiki, że włożono w zastanawianie się, że najlepszym sposobem dystrybucji żądań
W procesie próbując znaleźć najlepszą strategię do obsługi tego, mam wymyślić kilka alternatyw:
- usługi Uruchomienie Thrift jako samodzielny JAR (nie lubię tego, głównie dlatego, że teraz trzeba na nowo z logiką, że twórcy aplikacji kontenerów poświęca wiele czasu wypracowanie
- Host zapobiegliwości przez HTTP, dzięki wykorzystaniu basen Tomcat wątek i logika dla zgłoszeń serwisowych (niepewni o tym jednego powodu do - choć niewielkich - Wyniki trafienie spowoduje to powstanie)
- użyć innego typu kontenera aplikacji do organizacji tych usług
Czy ktoś ma sugestie dotyczące sposobu, w jaki mogły wcześniej obsługiwać serwery rozproszone. Czy lepiej jest używać HTTP w Tomcat?
To pytanie nie jest poza tematem: nie chodzi o scenariusz wdrożenia istniejącego serwera, ale o architekturę nowo opracowanej usługi, z uwzględnieniem programowania. – Wildfire