Open-Source-Projekt
alibaba/nacos avatar
alibaba/nacos

alibaba/nacos 3.2.4: Service-Discovery und dynamische Konfiguration in einem Java-Server

Nacos ist eine Plattform für dynamische Service-Discovery, Konfiguration und Service-Management in Cloud-nativen Apps, mit Unterstützung für Dubbo, gRPC, Spring Cloud und Kubernetes.

33.371 Sterne13.292 ForksJavaApache-2.0

Auf einen Blick

Was ist das?
Was das README von alibaba/nacos zu Discovery, dynamischer Konfiguration, DNS-Routing und dem Standalone-Start mit startup.sh hergibt, und an welchen Stellen die Angaben für eine Produktionsentscheidung enden.
Für wen ist es gedacht?
Geeignet ist Nacos für Teams, die Service-Discovery und dynamische Konfiguration in einem Server bündeln wollen und Java als Laufzeit akzeptieren. Weniger geeignet ist es dort, wo Routing bereits in einem Service Mesh liegt oder wo vertragliche Supportzusagen gebraucht werden.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Java, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Was alibaba/nacos unter 3.2.4 laut README leistet

Nacos steht für Dynamic Naming and Configuration Service. Im README von alibaba/nacos heißt es, die Plattform diene der dynamischen Service-Discovery, der Konfigurationsverwaltung und dem Service-Management und solle den Aufbau von Cloud-native-Anwendungen sowie von Microservice-Plattformen erleichtern. Die Metadaten weisen Java als Hauptsprache aus, die Lizenz ist Apache-2.0, der Standardbranch heißt develop. Zum Zeitpunkt der Materialsammlung standen 33318 Sterne, 13284 Forks und 178 offene Issues in den Metadaten. Solche Zahlen beschreiben Aufmerksamkeit, noch keine Betriebserfahrung.

Beim Versionsstand fällt die Zweigleisigkeit auf: Am 27. August 2026 wurden sowohl 3.2.4 als auch 2.5.4 veröffentlicht, am 6. August 2026 bereits 3.3.0-BETA. Welche Linie für einen Neueinstieg gedacht ist, sagt das README nicht. Diese Frage lässt sich nur über die Release-Notes auf der Releaseseite klären, nicht über die Sternzahl.

Die eigentliche Dokumentation liegt außerhalb des Repositories auf nacos.io, ergänzt um ein Online-Buch zur Architektur und um einen GitHub-Notice-Issue für längerfristige Hinweise. Für deutschsprachige Teams heißt das: Die Pflegequelle ist englisch und chinesisch, Übersetzungen entstehen über die Community.

Service Discovery und Health Checks über DNS oder HTTP in Nacos

Service ist im README ausdrücklich ein Bürger erster Klasse. Nacos erlaubt es Diensten, sich selbst zu registrieren und andere Dienste über eine DNS- oder HTTP-Schnittstelle zu finden. Dazu kommen Health Checks in Echtzeit, die verhindern sollen, dass Anfragen an fehlerhafte Hosts oder Instanzen laufen. Als Beispiele nennt das README Dubbo- und gRPC-Dienste, Spring-Cloud-REST-Dienste sowie Kubernetes-Dienste.

Wie diese Prüfungen technisch arbeiten, welche Intervalle gelten und was nach einem Fehlversuch passiert, steht im README nicht. Genau diese Werte braucht eine Produktionsplanung aber: Ein zu kurzes Intervall erzeugt Last, ein zu langes verlängert das Fehlerfenster. Die Angaben müssen aus der Dokumentation auf nacos.io kommen.

Der praktische Nutzen liegt in der Entkopplung. Anwendungen fragen Nacos nach Zieladressen, statt Adressen statisch zu hinterlegen. Bei häufig wechselnden Instanzen spart das Konfigurationsarbeit, verlagert aber eine Abhängigkeit auf den Nacos-Server selbst. Für eine Hochverfügbarkeit im Standalone-Betrieb gibt das Material keine Empfehlung.

Dynamic Configuration Management ohne Redeploy in Nacos

Als zweite Säule beschreibt das README einen Dienst, der Konfigurationen aller Dienste zentral und dynamisch über alle Umgebungen verwaltet. Der Gewinn wird ausdrücklich benannt: Konfigurationsänderungen sollen ohne Redeploy von Anwendungen auskommen. Wer mehrere Umgebungen betreibt, kann denselben Artefaktbestand behalten und nur die Konfiguration unterscheiden.

Welche Konfigurationsschlüssel Nacos dafür anbietet, geht aus dem README nicht hervor. Es werden keine Dateinamen, kein Format und keine Namensräume genannt. Auch die Frage, wie eine fehlerhafte Konfigurationsversion zurückgenommen wird, bleibt offen. Diese Lücke fällt beim ersten Test auf und sollte vorher nicht mit Vermutungen gefüllt werden.

Klar ist nur die Richtung: Eine Änderung am zentralen Dienst ersetzt den Weg über eingebackene Properties. Das verschiebt Fehlerquellen von der Build-Pipeline in die Laufzeit, weil eine falsche Änderung sofort wirkt, ohne dass ein neues Artefakt entsteht.

Weighted Routing im Dynamic DNS Service von Nacos

Als dritte Funktion nennt das README einen Dynamic DNS Service mit Weighted Routing. Damit sollen Load Balancing auf Zwischenebene, flexible Routing-Regeln, Flusskontrolle und einfache DNS-Auflösung im Rechenzentrum umsetzbar sein. Der genannte Vorteil ist die Vermeidung einer Kopplung an herstellerspezifische Service-Discovery-APIs.

Gewichtetes Routing zahlt sich dort aus, wo innerhalb einer Servicegruppe ungleich starke Instanzen laufen oder wo ein Canary-Anteil gesteuert werden soll. Das README macht keine Angaben dazu, wie Gewichte gesetzt werden, ob sie pro Instanz oder pro Cluster gelten und wie schnell eine Änderung wirksam wird. Diese Details gehören in die Dokumentation und nicht in eine Vermutung.

Teams, die bereits einen Ingress oder eine Service-Mesh-Schicht betreiben, finden hier eine Überlappung. Nacos beansprucht dann Aufgaben, die anderswo schon gelöst sind. Die offene Frage lautet dann, an welcher Stelle Routing-Entscheidungen künftig getroffen werden.

Standalone-Start mit startup.sh -m standalone

Der dokumentierte Einstieg beginnt mit dem Binärpaket von der Releaseseite. Das README zeigt am Beispiel von nacos-server-1.0.0.zip diese Schritte:

unzip nacos-server-1.0.0.zip

cd nacos/bin

Auf Linux, Unix und macOS startet der Server im Standalone-Modus mit sh startup.sh -m standalone. Unter Windows lautet der Aufruf startup.cmd -m standalone, alternativ lässt sich startup.cmd per Doppelklick ausführen. Die Versionsnummer im README-Beispiel ist älter als die aktuellen Releases 3.2.4, 2.5.4 und 3.3.0-BETA und sollte durch die gewünschte Zielversion ersetzt werden.

Konfigurationsschlüssel für den Standalone-Start nennt das README nicht, ebenso wenig Ports, Datenverzeichnisse oder Zugangsdaten für die Konsole. Wer den ersten Start plant, ergänzt diese Angaben aus der Schnellstart-Dokumentation auf nacos.io. Der Standalone-Modus deckt eine einzelne Instanz ab; Fragen zu Clusterbetrieb und Persistenz beantwortet das README an dieser Stelle nicht.

Nacos-Dashboard für Metadata, kubernetes DNS und Metriken

Die vierte Funktion ist das Service-Dashboard. Laut README hilft es beim Verwalten von Service-Metadaten, Konfiguration, Kubernetes-DNS, Service-Health und Metrik-Statistiken. Damit bündelt Nacos Aufgaben, die sonst auf mehrere Werkzeuge verteilt sind: eine Oberfläche für Zustand und Konfiguration statt getrennter Konsolen.

Für den Betrieb ist das praktisch, weil ein Blick genügt, um registrierte Instanzen und ihre Bewertung zu sehen. Gleichzeitig wird die Konsole zu einer Komponente mit Zugriff auf produktive Konfiguration. Das README enthält keine Aussagen zu Authentifizierung, Rollen oder Revisionsprotokollen. Wer das Dashboard außerhalb eines Testnetzes erreichbar macht, klärt diesen Punkt vorher aus der Dokumentation.

Über das Dashboard hinaus verweist das README auf Ökosystem-Repositories: nacos-spring-project für die Spring-Integration, nacos-group für SDKs und Synchronisationswerkzeuge sowie spring-cloud-alibaba als Bündel für die Entwicklung mit Alibaba-Middleware.

Wo die README-Angaben zu alibaba/nacos enden

Die Angaben enden an mehreren Stellen früher, als eine Produktionsentscheidung es braucht. Es fehlen Leistungsdaten, eine Kompatibilitätsmatrix und Angaben zum Ressourcenbedarf. Auch zur Absicherung des Servers, zu Backup und Restore der Konfigurationsdaten sowie zum Upgrade zwischen 2.x und 3.x steht im README nichts. Die gleichzeitige Pflege von 2.5.4 und 3.2.4 legt einen Migrationspfad nahe, den das Material selbst nicht beschreibt.

Ein zweiter Punkt betrifft den Support. Das README verweist auf Gitter sowie auf Mailinglisten für Anwender, Entwickler und Commits. Die DingTalk-Gruppen 1 bis 3 sind laut README vollständig belegt, Gruppe 4 wird mit der Nummer 12810027056 angegeben. Kommerzielle Unterstützung läuft über den Microservice Engine von Alibaba Cloud. Eine Zusage für deutschsprachigen oder vertraglich zugesicherten Support findet sich im Material nicht.

Drittens: Das Repository ist nicht archiviert, die CI läuft über GitHub Actions, die Abdeckung wird über Codecov angezeigt. Beides sind Aktivitätszeichen, keine Aussage über die Qualität eines einzelnen Releases.

Nacos gegen Consul und spring-cloud-alibaba

Als Alternative zu Nacos wird oft HashiCorp Consul genannt. Beide lösen Service-Discovery und zentrale Konfiguration, der Zuschnitt unterscheidet sich aber: Nacos bündelt Discovery, dynamische Konfiguration, Weighted-Routing über DNS und ein Dashboard in einem Java-Server, der mit sh startup.sh -m standalone startet. Bei Consul werden Health Checks, KV-Speicher und Mesh-Funktionen typischerweise getrennt konfiguriert, zudem bringt es keinen vergleichbaren Konfigurationsdienst mit Oberfläche aus einem Guss mit. Wer Consul bereits betreibt, gewinnt durch Nacos vor allem die Konfigurationsänderung ohne Redeploy. Wer nur Discovery braucht, trägt mit Nacos einen zusätzlichen Java-Server ein.

Innerhalb der Java-Welt ist spring-cloud-alibaba die engere Alternative, weil es Nacos als eine Komponente neben anderen Alibaba-Bausteinen einbindet. Der Unterschied: Nacos lässt sich unabhängig von Spring Cloud betreiben, spring-cloud-alibaba setzt auf dem Spring-Cloud-Stack auf. Für reine Spring-Cloud-Projekte ist das Bündel der kürzere Weg, für gemischte Stacks mit Dubbo oder gRPC die direkte Nacos-Integration.

Redaktionelles Fazit

Geeignet ist Nacos für Teams, die Service-Discovery und dynamische Konfiguration in einem Server bündeln wollen und Java als Laufzeit akzeptieren. Weniger geeignet ist es dort, wo Routing bereits in einem Service Mesh liegt oder wo vertragliche Supportzusagen gebraucht werden. Vor einer Entscheidung gehört geklärt, ob 3.2.4 oder 2.5.4 die Zielversion ist, wie startup.sh -m standalone in der eigenen Umgebung startet und welche Konfigurationsschlüssel die Dokumentation auf nacos.io nennt.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen