目录
2.3.1、Namespace Group DataId介绍:
3.1、修改conf/application.properties文件
4.2.1、找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf
4.2.3、将 conf/application.properties 中的端口号分别改为:
1、Nacos注册中心
1.1、nacos的安装和启动
1.1.1、解压
[root@localhost ~]# cd /usr/upload
[root@localhost upload]# tar -zxvf nacos-server-1.4.1.tar.gz -C /usr/local
1.2.2、启动和关闭
启动:
[root@localhost local]# cd nacos/bin/
[root@localhost bin]# ./startup.sh -m standalone #非集群模式启动
关闭:
[root@localhost bin]# ./shutdown.sh
1.2、Nacos注册中心
注册中心主要有三部分组成:
Ø Nacos-Server:注册中心
提供服务的注册和发现。
Ø Nacos-Provider:服务提供方
把自身的服务实例注册到 Nacos Server 中
Ø Nacos-Consumer:服务调用方
通过 Nacos Server 获取服务列表,消费服务。
1.2.1、服务提供者: nacos_provide
1、 pom.xml文件
<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、 application.yml
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.216.133:8848 #nacos服务的地址
application:
name: nacos-provider #向注册中心注册的名字
3App(启动类)
@SpringBootApplication
@EnableDiscoveryClient//向注册中心注册该服务,并可以获取其他服务的调用地址
public class ProviderApp {
public static void main(String[] args) {
SpringApplication.run(ProviderApp.class,args);
}
}
1.2.2、服务消费者:nacos_consumer
1、pom.xml
<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、application.yml
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.216.133:8848 #nacos服务的地址
application:
name: nacos-consumer #向注册中心注册的名字
3.App
@SpringBootApplication
@EnableDiscoveryClient//向注册中心注册该服务,并可以获取其他服务的调用地址
public class ConsumerApp {
public static void main(String[] args) {
SpringApplication.run(ConsumerApp.class,args);
}
}
1.3、为什么要使用注册中心
地址硬编码 不能负载均衡
2、Nacos配置中心
2.1、nacos——config
2.1.1、pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--nacos注册中心的启动器-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos配置中心的启动器-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>ccom.zzcsy</groupId>
<artifactId>springcloud_common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2.1.2、 bootstrap.yml
spring:
cloud:
nacos:
config:
server-addr: 192.168.216.133:8848
file-extension: yaml #后缀名,只支持 properties 和 yaml 类型
prefix: nacos-config #文件名,如果没有配置则默认为 ${spring.appliction.name}
2.1.3、在nacos中创建配置文件
Data ID:
${spring.cloud.nacos.config.prefix}.${spring.cloud.nacos.config.file-extension}
配置格式:yaml或properties
spring.cloud.nacos.config.prefix:默认是当前服务的服务名称
spring.cloud.nacos.config.file-extension:配置文件的格式(后缀),目前只支持yaml和properties
例如:
spring:
cloud:
nacos:
config:
server-addr: 192.168.216.133:8848 #配置中心的地址
file-extension: yaml #配置文件扩展名只支持properties和yaml
prefix: nacos-config #文件名,默认是spring.application.name
2.2、为什么要使用配置中心
- 集中管理配置文件
- 动态更新配置文件
2.3、隔离模型
2.3.1、Namespace Group DataId介绍:
- Namespace: 代表不同的环境的配置隔离 ,如:开发、测试、生产等
- Group: 可以代表某个项目,如health、JD
-
DataId: 每个项目下的工程名
2.3.2、获取配置集需要指定:
-
nacos服务地址,必须指定
-
namespace,如不指定默认public
-
group,如不指定默认 DEFAULT_GROUP
-
dataId,必须指定
3、持久化
3.1、修改conf/application.properties文件
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.216.130:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=1111
3.2、建库建表
创建nacos库 注意:库名和application.properties中的库名保持一致
建表:找到conf/nacos-mysql.sql文件并执行
测试
1、重启nacos
2、新建配置文件
3、观察配置文件是否持久化到mysql中
4、集群
4.1、节点规划
节点 | 端口 |
---|---|
192.168.204.156 | 8848 |
192.168.204.156 | 8849 |
192.168.204.156 | 8850 |
4.2、集群搭建
4.2.1、找到conf/cluster.conf.example ,将其改名为 conf/cluster.conf
# ip:port
192.168.216.133:8848
192.168.216.133:8849
192.168.216.133:8850
4.2.2、复制三份Nacos
[root@localhost bin]# cd /usr/local
[root@localhost java]# mkdir nacos_cluster
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8848
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8849
[root@localhost java]# cp -r nacos nacos_cluster/nacos_8850
4.2.3、将 conf/application.properties
中的端口号分别改为:
server.port=8848
server.port=8849
server.port=8850
4.3、配置代理服务
- 安装ngnix
- 配置ngnix代理nacos
- 测试
- 启动nacos集群
- 启动ngnix
- 将微服务注册到nacos集群
- 访问nacos集群