1. Nacos服务注册
1.1 简介
SpringCloud Alibaba的服务注册中心和配置中心,服务的套件,提供给我们微服务的注册,只有经过注册,服务之间才能互相调用。
1.2 官网
中文官网
下载地址
https://github.com/alibaba/nacos/releases
1.3 版本
查看版本说明,以防止出现莫名其妙的问题
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
1.4 启动
默认以集群的方式去启动(多个节点)
打开startup.cmd脚本,修改 set MODE = "cluster" 为 set MODE = "standalone" ,并配上注释rem cluster.
注意:要配置JAVA_HOME,jdk1.8;rem 的那一行都是注释.
1.5 打开管理界面
启动成功后,可以打开nacos的管理界面,地址:http://localhost:8848/nacos/
第一次访问,自动跳转到登录页面,用户名和密码都是 nacos
1.6 Nacos与SpringBoot集成
SpringBoot版本:2.2.12.RELEASE
SpringCloud版本:Hoxton.SR9
SpringCloudAlibaba版本:2.2.1.RELEASE
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.12.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--添加Springmvc依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- nacos-discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
配置文件application.yml:
spring:
application:
name: nacos-server-discovery
cloud:
nacos:
discovery:
server-addr: localhost:8848
启动类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
1.7
子模块注册到nacos上,作为一个微服务,微服务集群,即同一个服务有多个实例 。
微服务之间的调用,负载均衡,通过网关进行请求GateWay
实例过多出现阻塞情况,请求过多,需要服务熔断
分布式事务
把业务关联不紧密的东西丢在MQ里面去异步发送
1.8 dependencyManagement
版本管理,父级定义好版本,子模块直接去用这个版本
通过module关联子级