nacos

nacos

1.nacos linux配置

1.修改applications.properties文件

文件路径:/home/mysoftware/mynacos/nacos/conf

//指定ip 保证服务可以注册成功: nacos.inetutils.ip-address=47.98.252.142

//使用mysql: spring.datasource.platform=mysql

//配置mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=test
db.password=xxxx
//创建nacos_config数据库
执行sql脚本 nacos-mysql.sql /home/mysoftware/mynacos/nacos/conf

2.集群模式配置

//修改cluster.conf文件 添加登陆的ip (模拟集群模式)
47.98.252.142:xxxx
47.98.252.142:xxxx
47.98.252.142:xxxx

//bin目录下 修改startup.sh 增加端口启动

export SERVER="nacos-server"
export MODE="cluster"
export FUNCTION_MODE="all"
while getopts ":m:f:s:p:" opt
do
case $opt in
	m)
 	  MODE=$OPTARG;;
	f)
 	  FUNCTION_MODE=$OPTARG;;
 	s)
 	  SERVER=$OPTARG;;
 	p)       //-p+端口启动方式 可以启动多个服务器
 	  PORT=$OPTARG;;
	?)
 	  echo "Unknown parameter"
exit 1;;
esac
done

//修改内存占用

​		JVM Configuration

if [[ "${MODE}" == "standalone" ]]; then
​    JAVA_OPT="${JAVA_OPT} -Xms64m -Xmx64m -Xmn32m"
​    JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
​    JAVA_OPT="${JAVA_OPT} -server -Xms64m -Xmx64m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=320m"

//start //启动方式

#startecho "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
​	nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
​	echo "nacos is starting,you can check the ${BASE_DIR}/logs/start.out"
3.启动方式

单例:./startup.sh -m standalone
集群:./startup.sh -p 3333

4.nacos文件夹添加mysql驱动

在这里插入图片描述

2.项目工程配置

1.注册中心工程配置
1.pom添加依赖

(前提是工程中或父工程pom中已经引入了springcloudalibaba依赖)

<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.application.yml中指定nacos地址和项目名称
spring.cloud.nacos.discovery.server-addr=47.98.252.142:xxxx

spring.application.name=gulimall-gateway
3.启动类添加注解

@EnableDiscoveryClient (该注解有一个属性autoRegister 默认为true 所以该注解可以不加,可以通过配置nacos.discovery.enable使能是否注册,优先级要高于注解)

2.配置中心工程配置
1.pom添加依赖

(前提是工程中或父工程pom中已经引入了springcloudalibaba依赖)

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.application.yml

//指定nacos配置中心地址 和项目名称

spring:
  application:
    name: service-product  //指定项目名字 这个名字要和nacos的dataid一样
  cloud:
    nacos:
      config:
        server-addr: 47.98.252.142:xxxx   //配置中心地址
        namespace: 29e1a98e-c946-4863-bf08-1eccab0adf55  //命名空间 这里是product  原则是每个服务一个命名空间  在通过group区分开发测试等模式
        group: dev      //分组
3.controller层添加@RefreshScope //自动刷新配置

3.实际使用方法

(1)在工程中只创建一个bootstrap.properties(bootstrap.properties加载的优先级高于application.properties),然后配置好服务名、配置中心地址、命名空间、分组。然后指定每个配置文件的名字、分组、是否动态刷新

(2)命名空间规则:基本上每个微服务单独一个命名空间,然后通过分组区分生产、开发等模式。第三方框架比如mybatis还有数据源可以单独创建配置文件,微服务的端口,注册中心的地址可以单独创建一个配置文件

(3)配置截图

​ bootstrap.properties:

在这里插入图片描述

​ nacos配置:
在这里插入图片描述

备注:以服务名命名的配置文件,可以定义变量,服务接口中可以通过@Value注解获取该配置文件中的变量值,动态获取,不需要重启服务

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值