服务注册
服务实例将自身服务信息注册到注册中心,包括服务所在IP和Port、服务版本以及访问协议等。
服务发现
应用实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求他们提供的服务。
为什么需要服务注册和发现
由于自动扩缩、故障与升级,整组服务实例会动态变更。
下载Nacos Server
地址:https://nacos.io/zh-cn/docs/quick-start.html
用户名密码:nacos nacos
安装前确认:
1.64 bit OS
2.64 bit JDK1.8+
3.Maven 3.2+
https://github.com/alibaba/nacos/releases
nacos-server-1.3.0.tar.gz
drwxr-xr-x 4 root root 123 6月 17 13:13 bin
drwxr-xr-x 2 501 games 168 6月 5 16:33 conf
drwxr-xr-x 4 root root 38 6月 17 13:13 data
-rw-r--r-- 1 501 games 16583 6月 5 16:33 LICENSE
drwxr-xr-x 2 root root 4096 6月 22 13:43 logs
-rw-r--r-- 1 501 games 1305 5月 15 18:35 NOTICE
drwxr-xr-x 2 root root 30 6月 17 11:15 target
[root@root nacos]# pwd
/usr/lib/nacos
# 启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
# Linux/Unix/Mac
sh shutdown.sh
解读:https://www.cnblogs.com/lywJ/p/10904335.html
cat > /lib/systemd/system/nacos.service << 'EOF'
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/opt/jdk/jdk-1.8"
ExecStart=/software/nacos/bin/startup.sh -m standalone
ExecReload=/software/nacos/bin/shutdown.sh
ExecStop=/software/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable nacos
systemctl start nacos
在生产环境中,发现经常性硬盘经常爆满,经排查后发现是nacos各种日志生成太多,删掉会还是增长太快,配置后,还是发现会有其他类型日志产生,一下是有关nacos日志生产优化方案
access日志大量打印,这个日志是Spring Boot提供的tomcat访问日志打印,Spring Boot在关于该日志的选项中,没有最大保留天数或者日志大小控制的选项。因此这个日志的清理必须由应用新建crontab任务来完成,或者通过以下命令关闭日志的输出(在生产环境我们还是建议开启该日志,以便能够有第一现场的访问记录)
# /usr/lib/nacos/conf/application.properties
server.tomcat.accesslog.enabled=false
服务端业务日志,此种日志修改服务端日志配置文件即可