nacos1.1.0版本提供提供了新的模块地址发布器,用于统一管理nacos server的集群地址。提供查询nacos server的IP地址列表,以便于客户端获取nacos server地址。
一般中间件产品,客户端寻址服务端的方式都是在客户端配置服务端的地址列表,这样有一个缺点是当服务端的地址发生变动时,客户端无法实时的感知到,也无法动态调整访问的服务端集群。而在阿里巴巴的一种比较常见的客户端寻址服务端的方式是地址服务器。简单的说就是部署单独的地址服务器,地址服务器提供接口,获取相关中间件产品服务端集群的地址。由于地址服务器功能比较单一,因此稳定性比较容易保证。客户端只需要配置地址服务器的域名,通过地址服务器获取想要访问的中间件的集群地址,这样既保证能够感知中间件集群的动态变化,也能够为客户端配置更灵活的集群访问策略。
下面介绍地址服务器在linux以及windows下的部署以及启动:
下载地址服务器的压缩包 解压后路径如下:
执行启动命令:进入到nacos address根目录下
单机模式:
bash bin/startup.sh -m standalone -s nacos-address
集群模式:
在cluster.conf 配置文件夹下添加地址服务器集群服务器的IP地址即可,再在nacos address根目录下执行启动命令
bash bin/startup.sh -s nacos-address
同上,下载压缩包解压即可。
单机模式:
注:windows下的启动脚本有一点问题,直接执行会出现问题,所以需要修改启动脚本
打开startup.cmd按照下图修改(将nacos-server.jar 修改为nacos-address.jar)
进入到bin目录下,执行启动命令:
startup.cmd -m standalone -s nacos-address
如果未修改启动脚本startup.cmd,启动时会出现报错:
Error: Unable to access jarfile D:\搜狗高速下载\nacos-address-server-1.1.0\target\nacos-server.jar
集群模式:
与linux相似,修改cluster.conf配置文件后,执行启动命令
startup.cmd -s nacos-address
启动后会生成log日志
查看logs文件夹下的start.out如下,则代表启动成功
/usr/local/jdk/jdk1.8.0_192/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/local/jdk/jdk1.8.0_192/jre/lib/ext:/usr/local/jdk/jdk1.8.0_192/lib/ext:/usr/local/jar/plugins/cmdb:/usr/local/jar/plugins/mysql -Xloggc:/usr/local/jar/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dnacos.home=/usr/local/jar -jar /usr/local/jar/target/nacos-address.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/usr/local/jar/conf/ --logging.config=/usr/local/jar/conf/nacos-logback.xml --server.max-http-header-size=524288
,--.
,--.'|
,--,: : | Nacos 1.1.0
,`--.'`| ' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8080
: | \ | : ,--.--. ,---. / / | / / ' Pid: 414
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://172.16.0.44:8080/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2019-07-20 11:36:57,665 INFO Tomcat initialized with port(s): 8080 (http)
2019-07-20 11:36:57,776 INFO Root WebApplicationContext: initialization completed in 2037 ms
2019-07-20 11:36:58,949 INFO Initializing ExecutorService 'applicationTaskExecutor'
2019-07-20 11:36:59,350 INFO Initializing ExecutorService 'taskScheduler'
2019-07-20 11:36:59,368 INFO Exposing 2 endpoint(s) beneath base path '/actuator'
2019-07-20 11:36:59,470 INFO Tomcat started on port(s): 8080 (http) with context path ''
2019-07-20 11:36:59,482 INFO Nacos Log files: /usr/local/jar/logs/
2019-07-20 11:36:59,482 INFO Nacos Conf files: /usr/local/jar/conf/
2019-07-20 11:36:59,482 INFO Nacos Data files: /usr/local/jar/data/
2019-07-20 11:36:59,482 INFO Nacos started successfully in stand alone mode.