Ho costruito un livello di rilevamento servizi su Zookeeper per la ricerca di servizi di risparmio in un ambiente distribuito. Sto cercando il modo migliore per eseguire tali servizi in un ambiente di produzione ora.Distribuisci e fornisci un servizio di risparmio
Attualmente, viene eseguito mediante il confezionamento di una guerra che viene distribuita a Tomcat. Durante l'istanziazione servlet, viene creato Spring ApplicationContext, che crea un TThreadPoolServer
all'interno di Tomcat.
Non mi piace questo per un paio di motivi:
- Si fa Tomcat sorta di inutile, e ci si sente come un hack per facilitare l'implementazione
- Si evita la messa in comune filo Tomcat e tutti della logica che è andato in capire il modo migliore per distribuire le richieste
Nel processo di cercare di trovare la migliore strategia per gestire questa situazione, sono venuto su con un paio di alternative:
- servizi di lancio di risparmio come un JAR standalone (che non mi piace questo, soprattutto perché ora ho bisogno di reinventare la logica che gli sviluppatori di app container hanno speso un sacco di tempo a lavorare fuori
- Host parsimonia su HTTP, utilizzando in tal modo la piscina Tomcat filo e la logica per le richieste di servizio (incerto circa questo a causa della - seppur minore - le prestazioni colpito questa verrà applicata)
- Utilizzare un diverso tipo di contenitore di applicazioni per ospitare questi servizi
qualcuno ha suggerimenti su come potrebbero aver gestito l'hosting di server distribuiti prima. Sto meglio usando solo HTTP all'interno di Tomcat?
Questa domanda non è off-topic: non si tratta dello scenario di distribuzione del server esistente, ma dell'architettura del servizio di nuova concezione, che implica la programmazione. – Wildfire