2009-10-27 3 views
6

Per le distribuzioni JMS di grandi dimensioni quali sono i suggerimenti migliori per le convenzioni di denominazione?Suggerimenti per la coda JMS e convenzioni di denominazione per l'argomento

Attualmente stiamo seguendo i suggerimenti nello Sun Developer Network Blueprints. Per esempio:

jms/<resource-name>[Queue|Topic] 

Sono preoccupato per il ridimensionamento questo come otteniamo sempre più le code e gli argomenti del sistema. Sono particolarmente interessato a conoscere le esperienze che utilizzano la denominazione gerarchica e il modo in cui le persone hanno deciso le convenzioni di denominazione.

risposta

8

Suggerirei qualcosa che incorpori informazioni di gruppo, applicazione e versione aziendale in una gerarchia di namespace.

Per esempio: JMS/mygroup.myproject.version.resource.queue

Questo è utile se si dispone di gruppi tecnici disparati utilizzando cluster di server stessi JMS. Inoltre impedisce "crosstalk" tra diverse versioni della stessa applicazione.

+0

Mi piace il commento (quindi un voto alto) ma speravo in esempi di persone che hanno utilizzato più approcci orientati al servizio piuttosto che orientati al gruppo/al progetto. – BenM

5

Una società con cui lavoravo era molto dipendente da JMS per SOA. Erano anche nella progettazione basata sul dominio, quindi hanno organizzato i loro servizi per dominio aziendale nel formato <dominio>/<funzione>/<versione>. Ad esempio, prezzo/compute-foobar-maintenance-fee/1.0.

Il progetto non faceva parte del nome in quanto diversi progetti shouldn't have their own "version of the truth" - due app non avrebbero il proprio servizio di calcolo delle spese di manutenzione. E quale applicazione fornisce il servizio è irrilevante per nominare il servizio. Forse la mia applicazione fornisce il servizio oggi ma l'anno prossimo, la mia domanda verrà ritirata e un'altra subentrerà. Finché il contratto rimane lo stesso, il cliente non dovrebbe/non dovrebbe conoscere la differenza.