本文介绍生产环境中Nacos集群的安装配置,及与Spring Cloud的集成。
Nacos介绍
类似于Spring Cloud Eureka和Spring Cloud Config,Nacos提供了服务注册管理和配置中心的功能;其中配置中心实现动态刷新,无需MQ。
相对于Eureka,Nacos是由阿里提供的开源服务,可以兼容Spring Cloud,也支持其他语言例如python服务的注册管理。
Nacos安装
环境要求:
64 bit JDK 1.8+
MySql 5.6.5+安装包下载
当前版本 1.0.0解压
unzip nacos-server-$version.zip
tar -xvf nacos-server-$version.tar.gz
Nacos配置
MySql内执行sql
/nacos/conf/nacos-mysql.sql数据源配置
/nacos/conf/application.properties1
2
3
4
5spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://xxx:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=xxx
db.password=xxx集群配置
/nacos/conf/cluster.conf1
2
3192.168.1.100:8848
192.168.1.101:8848
192.168.1.102:8848在100-102机器上,复制存储nacos文件。
Nginx负载均衡
部署集群后,由3台集群提供管理界面,可以配置Nginx进行负载。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18upstream nacos_cluster {
server 192.168.1.100:8848;
server 192.168.1.101:8848;
server 192.168.1.102:8848;
}
server{
listen 80;
server_name localhost;
location / {
proxy_pass http://nacos_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
}8848为管理系统端口
访问localhost,可以进入Nacos管理界面
默认用户名和密码是nacos/nacos
users表存储的是用户名、密码,可以进行修改
new BCryptPasswordEncoder().encode(“nacos”)修改密码
启动和关闭
/nacos/bin
启动
sh startup.sh
启动后打印的关键参数
-server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:-UseLargePages -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M
关闭
sh shutdown.sh
Spring Cloud集成Nacos
pom引入
1 | <parent> |
配置参数
Application.java1
2
3
4
5
6
7
8
9
public class Application{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
bootstrap.yml
1 | spring: |
fegin测试
1 |
|