核心知识点
服务中心诞生背景
当服务数量达到一定的规模,我们首先要面对的是如何去查找相对应的服务,其次还要在不同的服务之间进行通信。在这样一个复杂的情况下,我们就需要一个东西来管理、发现、配置这些服务,由此注册中心就诞生了。
服务中心选型
市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google)那他们分别都有什么特点,我们如何进行选型呢?我们主要从社区活跃度,稳定性,功能,性能等方面进行考虑即可
Nacos的下载、安装、配置
Nacos的下载链接
https://github.com/alibaba/nacos/releases
安装:直接解压即可,无需安装
配置:打开/nacos/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://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=root ### Connection pool configuration: hikariCP db.pool.config.connectionTimeout=30000 db.pool.config.validationTimeout=10000 db.pool.config.maximumPoolSize=20 db.pool.config.minimumIdle=2
启动Nacos服务:
1.Linux启动指令 ./startup.sh -m standalone
2.Windows启动指令 startup.cmd -m standalone
说明:
1.在执行指令时需要在bin目录执行,除非配置环境变量2.本地JAVA_HOME环境需提前配置
3.确保数据库版本以及指向的数据库的存在
访问Nacos:
打开浏览器,输入http://localhost:8848/nacos地址,出现以下界面就安装成功了,默认账号密码为nacos/nacos.
服务创建及注册
1.创建提供者服务的module(provider),pom文件配置如下:
<dependencies>
<!--Web服务-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--服务的注册和发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
2.继承父工程,创建并修改配置文件application.yml(或者application.properties),实现服务注册:
server:
port: 8081
spring:
application:
name: sca-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
3.创建Spring启动类(有则无需创建),查看Nacos中的服务是否注册成功,如下图: