一.Nacos注册中心
启动nacos客户端
startup.cmd -m standalone
单机启动 默认为集群模式 会启动失败
1.客户端添加依赖
| <dependency> |
| <groupId>com.alibaba.cloud</groupId> |
| <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
| <version>2.1.0.RELEASE</version> |
| </dependency> |
2.文件配置
| server: |
| port: 83 |
| |
| |
| spring: |
| application: |
| name: nacos-order-consumer |
| cloud: |
| nacos: |
| discovery: |
| server-addr: localhost:8848 |
| |
| |
| server-url: |
| nacos-user-servicer: http://nacos-payment-pro |
3.config配置
| @Configuration |
| public class ApplicationContextConfig { |
| @Bean |
| @LoadBalanced |
| public RestTemplate getRestTemplate(){ |
| return new RestTemplate(); |
| } |
| } |
| |
4.controller
| |
| |
| |
| |
| @RestController |
| @Slf4j |
| public class OrderNacosController { |
| |
| @Resource |
| private RestTemplate restTemplate; |
| @Value("${server-url.nacos-user-servicer}") |
| private String serverURl; |
| |
| @GetMapping(value = "/consumer/payment/nacos/{id}") |
| public String paymentInfo(@PathVariable("id") Integer id){ |
| return restTemplate.getForObject(serverURl+"/payment/nacos/"+id,String.class); |
| } |
| } |
5.启动类
| @EnableDiscoveryClient |
| @SpringBootApplication |
| public class OrderNacosMain83 { |
| public static void main(String[] args) { |
| SpringApplication.run(OrderNacosMain83.class,args); |
| } |
| } |
| |
二.服务端
服务端添加两个端口9001和9002,配置一样,改端口即可
Nacos添加了spring-cloud-starter-alibaba-nacos-discovery后就包含ribbon依赖,实现了负载均衡
1.添加依赖
| <dependency> |
| <groupId>com.alibaba.cloud</groupId> |
| <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
| <version>2.1.0.RELEASE</version> |
| </dependency> |
2.配置文件
| server: |
| port: 9001 |
| |
| spring: |
| application: |
| name: nacos-payment-provider |
| cloud: |
| nacos: |
| discovery: |
| server-addr: localhost:8848 |
| |
| management: |
| endpoints: |
| web: |
| exposure: |
| include: '* |
| |
3.controller
| @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; |
| } |
| } |
| |
4.启动类
| @SpringBootApplication |
| @EnableDiscoveryClient |
| public class PaymentMain9001 { |
| public static void main(String[] args) { |
| SpringApplication.run(PaymentMain9001.class,args); |
| } |
| } |
| |
5.启动客户端和服务端的端口

在nacos的控制台可以看到服务启动成功

访问端口


可见两个端口交替访问。
三.Nacos配置中心
1.添加依赖
| <dependency> |
| <groupId>com.alibaba.cloud</groupId> |
| <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
| <version>2.2.5.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>com.alibaba.cloud</groupId> |
| <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
| <version>2.1.0.RELEASE</version> |
| </dependency> |
2.配置文件
| spring: |
| profiles: |
| active: dev #表示开发环境 |
bootstrap.yml
| server: |
| port: 3377 |
| |
| |
| spring: |
| application: |
| name: nacos-config-client |
| cloud: |
| nacos: |
| discovery: |
| server-addr: localhost:8848 |
| config: |
| server-addr: localhost:8848 |
| file-extension: yaml |
| |
| |
| |
| |
| |
3.controller
| @RestController |
| @RefreshScope |
| public class ConfigClientController { |
| |
| @Value("${config.info}") |
| private String configInfo; |
| |
| @GetMapping("/config/info") |
| public String GetConfigInfo(){ |
| return configInfo; |
| } |
| } |
| |
4.启动类
| @SpringBootApplication |
| @EnableDiscoveryClient |
| public class NacosConfigClientMain3377 { |
| public static void main(String[] args) { |
| SpringApplication.run(NacosConfigClientMain3377.class,args); |
| } |
| } |
5.nacos配置

访问端口

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律