写在最前面:
(1). nacos官网
(2). nacos github中文
(3). nacos下载
# nacos作为注册中心 server: port: 9001 spring: application: name: nacos-payment-provider cloud: nacos: discovery: server-addr: localhost:8848 #配置Nacos地址 management: endpoints: web: exposure: include: '*'
# nacas作为消费者 server: port: 83 spring: application: name: nacos-order-consumer cloud: nacos: discovery: server-addr: localhost:8848 service-url: nacos-user-service: http://nacos-payment-provider
# nacos作为配置中心 server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #服务注册中心地址 config: server-addr: localhost:8848 #配置中心地址 file-extension: yaml #指定yaml格式的配置 group: DEV_GROUP # 分类配置之分组配置 namespace: 3f95a639-712b-4108-a03e-7bc3e95c3d46 #哪一个namespace下 #${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} #nacos-config-client-dev.yaml
<!--nacos作为注册中心--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!--nacos作为配置中心--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
①. Nacos简介(了解)
- ①. 为什么叫Nacos
(前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service)
- ②. 是什么
一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心
Nacos:Dynamic Naming and Configuration Service
Nacos就是注册中心+配置中心的组合(等价于Nacos = Eureka+Config+Bus)
③. 能干嘛
替代Eureka做服务注册中心
替代Config做服务配置中心
④. Nacos下载版本
②. 安装并运行Nacos(了解)
- ①. 本地Java8+Maven环境已经OK
- ②. 先从官网下载Nacos
- ③. 解压安装包,直接运行bin目录下的startup.cmd
- ④. 命令运行成功后直接访问http://localhost:8848/nacos
默认账号密码都是nacos - ⑤. 结果页面
③. 基于Nacos的服务提供者
- ①. 新建Module: cloudalibaba-provider-payment9001
- ②.pom
<dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <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> <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>
③. YML
server: port: 9001 spring: application: name: nacos-payment-provider cloud: nacos: discovery: server-addr: localhost:8848 #配置Nacos地址 management: endpoints: web: exposure: include: '*'
④. 主启动
@EnableDiscoveryClient @SpringBootApplication public class PaymentMain9001 { public static void main(String[] args) { SpringApplication.run(PaymentMain9001.class,args); } }
⑤. 业务类
package 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; @RestController public class PaymentController{ @Value("${server.port}") private String serverPort; @GetMapping(value = "/payment/nacos/{id}") public String getPayment(@PathVariable("id") Integer id){ return "nacos registry, serverPort: "+ serverPort+"\t id"+id; } }
- ⑥. 测试
- http://lcoalhost:9001/payment/nacos/1
- nacos服务注册中心+服务提供者9001都ok了
- nacos控制台
⑦. 为了下一章节演示nacos的负载均衡,参照9001新建9002


