Documentation

Nacos deployment environment

Nacos is defined as an IDC internal application component, not a product for the public network environment. It is not recommended expose it to the public network environment directly.

All network related concepts such as VIP and network interface mentioned in the following documents are in the internal network environment.

Nacos supports three types of deployment modes

  • Standalone Mode - used in DEV or TEST environment.
  • Cluster Mode - used in production environment to ensure high-availability.
  • Multi-Cluster Mode - in complicated production mode, you may want to deploy multi-cluster mode to support different business units.

Environment preparation

  • JDK installed, 1.8 and above are required
  • Recommendation: 2 core CPU / 4G RAM and above
  • Recommendation: Production environment with 3 nodes and above

Running Nacos in Standalone Mode

Linux/Unix/Mac

  • Standalone means it is non-cluster Mode. * sh startup.sh -m standalone

Windows

  • Standalone means it is non-cluster Mode. * cmd startup.cmd -m standalone

Running Nacos with mysql in Standalone Mode

Initialize MySQL database

sql statement source file

application.properties configuration

application.properties configuration file

add mysql datasource and configure url, user and password

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow

Running Nacos in Multi-Node Cluster Mode

Nacos in Multi-Node Cluster Mode

Deploy Nacos in Multi-Cluster Mode

Nacos support a NameServer route request mode, by which you can design a useful mapping rule to control the request forward to the corresponding cluster, in the mapping rule you can sharding the request by namespace or by tenant etc...

to setup a NameServer:

IP Selection of Multiple Network Cards

When the local environment is complex, the Nacos service needs to choose IP or network card to use at runtime when it starts up. Nacos Gets IP Reference Spring Cloud Design from Multiple Network Cards. With the nacos.inetutils parameter, you can specify the network card and IP address used by Nacos. The configuration parameters currently supported are:

  • ip-address parameter can set Nacos IP directly
nacos.inetutils.ip-address=10.11.105.155
  • use-only-site-local-interfaces parameter allows Nacos to use LAN ip, which is useful when Nacos deploys a machine with multiple network cards
nacos.inetutils.use-only-site-local-interfaces=true
  • ignored-interfaces parameter support network card arrays, allowing Nacos to ignore multiple network cards
nacos.inetutils.ignored-interfaces[0]=eth0
nacos.inetutils.ignored-interfaces[1]=eth1
  • preferred-networks parameter allow Nacos to select the matching IP preferentially and support regular matching and prefix matching
nacos.inetutils.preferred-networks[0]=30.5.124.
nacos.inetutils.preferred-networks[0]=30.5.124.(25[0-5]|2[0-4]\\d|((1d{2})|([1-9]?\\d))),30.5.124.(25[0-5]|2[0-4]\\d|((1d{2})|([1-9]?\\d)))