一、Nacos安装
nacos官方下载地址在github,直接去搜就行,gitee有同步得,但是笔者没有找到server服务,只有源码,安装这块可以自行百度
版本问题
这里提一下,百度的很多版本有问题,可以在github看看开源的springcloud项目
,直接复制他的版本就行,这个很好用,再也不用担心版本问题了。
安装之后执行conf
目录下的mysql-schema.sql
文件
修改application.properties
配置文件
打开这些注释就行,记得修改数据库配置,找不到的观察行数
修改startup.cmd
启动文件
nacos默认是集群模式,修改下面的地方改为单机,找不到看相对位置,如果不能直接打开cmd文件可以修改后缀为txt
,记得改回来
做了这些,启动mysql基本不会报错。
二、Nacos快速入门
2.1 快速入门
建议引入下面两个依赖
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置bootstrap.yml
默认没有,需要新建一个,每个注册到nacos的服务需要一个name,
# boostarp优先级高于application 可以让nacos优先读取
spring:
application:
name: oj-file
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
# 配置文件格式
# file-extension: yml
# 共享配置
# shared-configs:
# - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
可以在nacos看见注册成功
2.2 多级存储模型
从小到大依次是:实例->集群->服务
- 每个实例时一个ip+端口,也就是一个springboot项目
- 每个集群以机房划分,例如杭州集群,上海集群
- 服务时顶层分类
多级分类有利于管理多个实例,集群通过地名划分有利于就近负载,提高速度,服务时为了统一管理
服务默认集群DEFAULT,也就是没有集群,通过cluter-name配置,名字自定义
spring:
cloud:
nacos:
discovery:
cluter-name: HZ
2.3 Nacos负载均衡
在每个服务中配置负载均衡规则即可
userservice: # 要做配置的服务名称
ribbon:
NFLoadBanlancerRuleClassName: com.alibaba.cloud.nacos.NacosRule
按权重负载直接在nacos修改就好