https://github.com/alibaba/nacos/releases?page=3

配置文件
conf/application.properties

启动文件
bin/startup.sh

MOD=“cluster” 默认是集群模式
单机启动
如果换成单机模式 改成 standalone
雪崩模式概念
雪崩保护是 如果来了大量的 并发,当前承载能力不够,,就将 已经 停止的服务或者无效的服务推动给 调用方,让调用方 看到 崩溃页面
开发项目的客户端配置
Spring cloud 项目中
父项目
pom.xml
之前添加过spring-cloud-alibaba 依赖可以自动添加 nacos discovery
子项目
pom.xml
增加 nacos服务 discovery
src–main–resources
application.yml
#单机模式nacos
server:
port:8010
spring:
application:
name:stock-nacos #微服务名称--供给方服务
cloud:
nacos:
server-addr:127.0.0.1:8848
discovery:
username:nacos #nacos默认值
password:nacos #nacos默认值
namespace:public #默认值
#集群模式nacos
server:
port:8010
spring:
application:
name:stock-nacos #微服务名称--供给方服务
cloud:
nacos:
server-addr:192.168.2.95:80
discovery:
username:nacos #nacos默认值
password:nacos #nacos默认值
namespace:public #默认值
application 级别的负载均衡机制—–开发环境—–
在开发工具中—run dashboard
spring Boot:
Running
#项目名称–运行中的
点右键—copy –configured
open configured UI—–rename applicationname –add over parameter:server.port:8022
Configured
when added ,,will list a named application
上述操作结果,会在开发工具启动 两个 application ,用于验证nacos的负载机制
nacos的心跳机制
心跳机制—-app service 默认为 临时类型
nacos的心跳 每隔5秒 报备心跳,如果缺失nacos标记为 失效,30秒后移除app service
集群配置
集群的结构
nginx —-nacos8849 / nacos8850 /nacos8851
nginx后有三个nacos
同一个服务器解压三个nacos1.4.1 重命名


前期准备
数据源准备
nacos 集群的 数据源为 mysql
选择 192.168.2.56 –教程说明需要 mysql5.7 + ,这个观察下
创建一个数据库实例 nacos —三个nacos 应用链接一个数据库
在nacos的加压包-conf 有个 nacos-mysql.sql ,执行

maven准备
解压 mave 386 ==/opt/maven386
修改 启动路径 ~/.bashrc
export PATH=/opt/maven386/bin:$PATH
jdk准备
java version “1.8.0_91”
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
添加路径到启动文件~/.bashrc
配置application.properties
../nacosXXXX/conf/application.properties

注意三个目录的配置的端口要修改

配置 cluster.conf

../nacosXXXX/conf/cluster.conf

同一个服务器 ,3个端口 给nacos
修改启动文件startup.sh
由于做实验,服务器的内存不够大,因此需要修改 nacos的启动文件
默认启动 集群环境的 nacos ,内存要求是2G
本次测试服务器的是 8G内存,修改NACOS 启动内存 128 M ,max 512 ,min 128

../nacosXXXX/bin/startup.sh—下方截图做过修改,不是最终值
128 / 512 / 128

本次 参考单机版的启动参数进行修改,修该完成后,覆盖其他几个nacos

测试 是否能启动 —-先启动一个单机的nacos
内存 微调下 –Xms256m ,启动占用内存为 256即可 ,过高会出现内存不足的问题

集群式启动后

最后一句—-Nacos started successfully in cluster mode. use external storage
三个nacos启动后的场景

内存问题
有可能启动三个nacos还要改
报错信息 分享下

内存占用大了,导致 tomcat启动不起来,这还只是一个 nacos,集群启动,后续三个的时候,会再次更新这个 内存配置的问题
8G 的服务器内存不够,无法启动三个 nacos,改成了 16g的就可以
并且启动改成了 128m

修改 nginx––yum install nginx
本次采用了 80端口,正常会选择nacos的默认端口8848
# configuration file /usr/local/nginx/conf/vhosts/nacos.conf:
upstream nacos_server {
server 192.168.2.95:8849;
server 192.168.2.95:8850;
server 192.168.2.95:8851;
}
server {
listen 80;
server_name localhost; # 将此域名替换为你自己的域名
location / {
rewrite ^/(.*)$ /nacos/$1 break;
proxy_pass http://nacos_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
location /nacos/ {
proxy_pass http://nacos_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
}
}
# cat nginx.conf
user nginx;
worker_processes 8;
worker_rlimit_nofile 65535;
error_log /usr/local/nginx/logs/error.log warn;
pid /usr/local/nginx/logs/nginx.pid;
events {
use epoll;
worker_connections 1028;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
client_header_timeout 20;
client_body_timeout 20;
send_timeout 30;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
client_max_body_size 50m;
client_body_buffer_size 128k;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /usr/local/nginx/proxy_temp 1 2;
include fastcgi_params;
include /usr/local/nginx/conf/vhosts/*.conf;
}
上面配置的结果是
会自动跳转为 http://192.168.2.95/nacos —-进入登陆页面
NACOS 日志
/opt/nacos8849/logs
/opt/nacos8850/logs
/opt/nacos8851/logs
access_log.2024-10-10.log