我的后端学习大纲
SpringCloud学习大纲
2.Nacos功能:
Nacos可以作为服务的注册中心,也可以作为服务配置中心:
服务发现与服务健康检查
:Nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查
,以防止向不健康的主机或服务实例发送请求。服务配置中心
:动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置
。Nacos消除了在更新配置时重新 部署应用程序,这使配置的更改更加高效和灵活。动态DNS服务
:Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以 域名的方式暴露端点,让三方应用方便的查阅及发现。服务和元数据管理
:Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。 这里动态配置管理的特性说明了Naocs的配置管理能力
2.2.官方说明文档:
- Nacos说明开发文档
2.3.Nacos作为注册中心进行环境搭建:
基于Nacos的服务提供者
- 新建Module:
cloudalibaba-provider-payment9001
- 改pom:父pom和本模块pom
//本模块pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud2022</artifactId>
<groupId>com.atguigu.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloudalibaba-provider-payment9001</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
- 写YML
server:
port: 9001
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置的nacos地址
management:
endpoints:
web:
exposure:
include: '*'
- 主启动
package java.com.atguigu.springcloud.alibaba;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @author jianqun
* @email:1033586391@qq.com
* @creat 2022-01-07-13:57
*/
@EnableDiscoveryClient
@SpringBootApplication
public class paymentMain9001 {
public static void main(String[] args) {
SpringApplication.run(paymentMain9001.class,args);
}
}
- 业务类
package java.com.atguigu.springcloud.alibaba.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
/**
* @author jianqun
* @email:1033586391@qq.com
* @creat 2022-01-07-14:02
*/
@RestController
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@GetMapping(value = "payment/nacos/{id}")
public String getPayment(@PathVariable("id") Integer id){
return "nacos register,serverport:" + serverPort + "\t id"+ id;
}
}
- 启动服务,进行测试