Kapitel 5. Container

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Programme werden in der Regel nicht mit allem, was sie brauchen, in einer einzigen Datei ausgeliefert. Das gilt nicht nur für Node.js-Programme, die mindestens aus einer einzigen .js-Datei und der ausführbaren Node-Datei bestehen, sondern auch für Programme, die auf anderen Plattformen kompiliert wurden. Es gibt fast immer weitere Anforderungen, wie z. B. gemeinsam genutzte Bibliotheken. Sogar ein in C geschriebenes, einzeln ausführbares Programm, das seine Abhängigkeiten statisch verlinkt, ist technisch gesehen immer noch auf die vom Kernel angebotene Systemaufruf-API angewiesen.

Es gibt viele verschiedene Möglichkeiten, wie Programme verteilt und ausgeführt werden. Jededieser Methoden bringt Kompromisse in Bezug auf Portabilität, Effizienz, Sicherheit undSprödigkeit mit sich.

Manchmal ist es schön, "einfach eine Binärdatei zu liefern". Aber das bedeutet zumindest, dass man für verschiedene Betriebssysteme unterschiedliche Binärdateien ausliefern muss, und manchmal (wie es oft der Fall ist, wenn eine Binärdatei von OpenSSL abhängt) muss man je nach Betriebssystem und Bibliotheksversion mehrere Binärdateien ausliefern. Dies ist ein Problem der Portabilität.

Eines der größten Probleme ist das mit shared libraries. Stell dir einen Server vor, auf dem das Linux-Betriebssystem läuft. Auf diesem Rechner sollen zwei Programme laufen, ...

Get Verteilte Systeme mit Node.js now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.