Auf einem Linux-System muss ich Java-Prozesse bereitstellen, die Hostnamen für externe Daten und Webservernamen fest in der App codiert haben, z. "Mailserver" und "ftpserver". Bei der Bereitstellung auf verschiedenen Hosts können wir natürlich/etc/hosts verwenden, um zuzulassen, dass jede Implementierung dieser Anwendung einen anderen fernen Server für ihren "Mailserver" oder "ftpserver" verwendet.Prozesse verwenden unterschiedliche IPs für denselben Hostnamen
Jetzt möchten wir mehrere Anwendungsbereitstellungen auf einem Host konsolidieren. Allerdings muss jede Implementierung immer noch auf ihren eigenen "Mailserver" oder "ftpserver" verweisen, und die/etc/hosts dieses konsolidierten Hosts können nicht verwendet werden, da sie von allen Instanzen der Apps gemeinsam genutzt werden.
Gibt es eine Möglichkeit, innerhalb eines Prozesskontexts eine Zuordnung von Name zu IP anzugeben, ohne/etc/hosts oder gar DNS zu verwenden, da diese systemweit sind und von allen Prozessen geteilt werden?
Ich verstehe Chroot würde den Trick tun, aber bin nur bereit, das als letztes Mittel zu verwenden. mit Properties
Cheers, Hund
Können Sie den Java-Code so ändern, dass Servernamen sinnvoll festgelegt werden? –
Nun, ich würde lieber Gefängnisse an diesem Punkt verwenden. Ich bin der Systemadministrator, nicht der Entwickler. Ich kann nicht für das Leben von mir verstehen, was sie dachten, als sie es auf diese Weise schrieben (keine Verbindungspools, keine .conf-Datei, um die externen Hosts und URLs usw. zu definieren) –
Wenn möglich, Software ändern. Jemand, der all die einfachen Dinge schlecht macht, selbst wenn es gut verstanden wird, wie er sie gut macht, macht wahrscheinlich komplizierte Dinge mindestens genauso schlimm. –