1. Nacos 服务注册
1. Nacos简介
官方文档地址
1. 下载地址
https://github.com/alibaba/Nacos
nacos.io/zh-cn/
https://github.com/alibaba/nacos/releases/tag/1.2.0
Windows
下载zip
格式解压缩之后,找到bin
目录,用cmd
命令运行startup.cmd
2.安装遇到的BUG(极其无语)
- 首先需要打开
conf
文件夹 找到里边的两个sql
文件,在本地数据库创建一个nacos
数据库,将这两个sql
执行一下 - 还是在
conf
文件下下的application.properties
中,将关于数据库的注释放开,大约在31 -41 行
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=xxx
-
如果遇到了死活打不开内置tomcat,报错信息如下
Unable to start web server,Unable to start embedded Tomcat
请更换
JDK
版本为JDK1.8.0_191,JDK1.8.0_261,,JDK1.8.0_271
中的其中一个,反正是JDK_1.8.0_202
这个版本不行https://blog.csdn.net/m0_49501947/article/details/108152856
-
如果能够成功运行但是,数据库没有用户名和密码,还是打开
conf/nacos-mysql.sql
这个文件最下边两行有
序号 | 解决的问题 | 网址 |
---|---|---|
1 | Unable to start web server,Unable to start embedded Tomcat | https://blog.csdn.net/m0_49501947/article/details/108152856 |
2 | db.num is null,Unable to start embedded Tomcat | https://blog.csdn.net/lingyancangqiong/article/details/107823061 |
3 |
2. 引入相关依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
本Moudle
需要添加的依赖
<dependencies>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
3. 配置文件
server:
port: 9001
spring:
application:
name: nacos-paymnet-provider
cloud:
nacos:
discovery:
# 配置nacos地址
server-addr: localhost:8848
management:
endpoints:
web:
exposure:
include: '*'
4. 书写启动类
package com.javacode.alibaba;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @author zhaojinhui
* @date 2020/12/6 11:23
* @apiNote
*/
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentApp9001 {
public static void main(String[] args) {
SpringApplication.run(PaymentApp9001.class, args);
}
}
IDEA复制实例
5. Nacos AP和CP 切换
2. Nacos 做配置中心
1. 引入依赖
<dependencies>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
2. Group分组方案
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
#指定yaml格式的配置
file-extension: yaml
group: TEST_GROUP
namespace: xxx
#${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
3. Linux Nacos 集群
1.运行前的配置·
-
修改
application.properties
放开数据库配置 -
修改
config。conf
集群配置192.168.0.1:8847 192.168.0.1:8848 192.168.0.1:8849
-
修改
startup.sh
while getopts ":m:f:s:c:p:po:" opt #需要在最后添加上自己写的 po) PORT=$OPTARG;; # 倒数第二行 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT}
-
启动
./startup.sh -po 8847
./startup.sh -po 8848
./startup.sh -po 8849
#查看实例数
ps -ef|grep nacos|grep -v grep|wc -l
- 最后,nacos默认分配的内存是1G,建议多给点不然很卡
4. spring cloud alibaba Sentinel
- 可以用来替换
hystrix
${JAVA_OPT}
- 启动
./startup.sh -po 8847
./startup.sh -po 8848
./startup.sh -po 8849
#查看实例数
ps -ef|grep nacos|grep -v grep|wc -l
- 最后,nacos默认分配的内存是1G,建议多给点不然很卡
4. spring cloud alibaba Sentinel
- 可以用来替换
hystrix
- 下载地址