Java最全Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现(1),万分膜拜

最后希望可以帮助到大家!

千千万万要记得:多刷题!!多刷题!!

之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!

篇幅有限,以下只能截图分享部分的资源!!

(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)

image

(2)刷的算法题(还有左神的算法笔记)

image

(3)面经+真题解析+对应的相关笔记(很全面)

image

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

pom

import

org.springframework.cloud

spring-cloud-alibaba-dependencies

0.2.1.RELEASE

pom

import

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-alibaba-nacos-discovery

org.projectlombok

lombok

1.18.2

true

上述内容主要三部分:

  • parent:定义spring boot的版本

  • dependencyManagement:spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba还未纳入spring cloud的主版本管理中,所以需要自己加入

  • dependencies:当前应用要使用的依赖内容。这里主要新加入了Nacos的服务注册与发现模块:spring-cloud-starter-alibaba-nacos-discovery。由于在dependencyManagement中已经引入了版本,所以这里就不用指定具体版本了。

第三步:创建应用主类,并实现一个HTTP接口:

@EnableDiscoveryClient

@SpringBootApplication

public class TestApplication {

public static void main(String[] args) {

SpringApplication.run(TestApplication.class, args);

}

@Slf4j

@RestController

static class TestController {

@GetMapping(“/hello”)

public String hello(@RequestParam String name) {

log.info("invoked name = " + name);

return "hello " + name;

}

}

}

内容非常简单,@SpringBootApplication定义是个Spring Boot应用;@EnableDiscoveryClient开启Spring Cloud的服务注册与发现,由于这里引入了spring-cloud-starter-alibaba-nacos-discovery模块,所以Spring Cloud Common中定义的那些与服务治理相关的接口将使用Nacos的实现。这点不论我们使用Eureka、Consul还是其他Spring Cloud整合的注册中心都一样,这也是Spring Cloud做了封装的好处所在,如果对Eureka、Consul这些注册中心的整合还不熟悉的可以看看以前的这篇:Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)

第四步:配置服务名称和Nacos地址

spring.application.name=alibaba-nacos-discovery-server

server.port=8001

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

第五步:启动上面创建的应用。可以在启动时候增加-Dserver.port=8001的形式在本机的不同端口上启动多个实例。

在应用启动好之后,我们可以在控制台或日志中看到如下内容,代表已经注册成功:

INFO 10476 — [ main] o.s.c.a.n.registry.NacosServiceRegistry : nacos registry, alibaba-nacos-discovery-server 10.123.18.216:8001 register finished

在启动都ok之后,我们可以访问Nacos的管理页面http://127.0.0.1:8848/nacos/来查看服务列表,此时可以看到如下内容:

在这里插入图片描述

这里会显示当前注册的所有服务,以及每个服务的集群数目、实例数、健康实例数。点击详情,我们还能看到每个服务具体的实例信息,如下图所示:

在这里插入图片描述

服务消费者

接下来,实现一个应用来消费上面已经注册到Nacos的服务。

第一步:创建一个Spring Boot应用,命名为:alibaba-nacos-discovery-client-common

第二步:编辑pom.xml中的依赖内容,与上面服务提供者的一样即可。

第三步:创建应用主类,并实现一个HTTP接口,在该接口中调用服务提供方的接口。

@EnableDiscoveryClient

@SpringBootApplication

public class TestApplication {

public static void main(String[] args) {

SpringApplication.run(TestApplication.class, args);

}

@Slf4j

@RestController

static class TestController {

@Autowired

LoadBalancerClient loadBalancerClient;

@GetMapping(“/test”)

public String test() {

// 通过spring cloud common中的负载均衡接口选取服务提供节点实现接口调用

ServiceInstance serviceInstance = loadBalancerClient.choose(“alibaba-nacos-discovery-server”);

String url = serviceInstance.getUri() + “/hello?name=” + “didi”;

RestTemplate restTemplate = new RestTemplate();

String result = restTemplate.getForObject(url, String.class);

return "Invoke : " + url + ", return : " + result;

}

}

}

这里使用了Spring Cloud Common中的LoadBalancerClient接口来挑选服务实例信息。然后从挑选出的实例信息中获取可访问的URI,拼接上服务提供方的接口规则来发起调用。

第四步:配置服务名称和Nacos地址,让服务消费者可以发现上面已经注册到Nacos的服务。

spring.application.name=alibaba-nacos-discovery-client-common

Docker步步实践

目录文档:

①Docker简介

②基本概念

③安装Docker

④使用镜像:

⑤操作容器:

⑥访问仓库:

⑦数据管理:

⑧使用网络:

⑨高级网络配置:

⑩安全:

⑪底层实现:

⑫其他项目:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

FWlT-1715324491097)]

⑪底层实现:

[外链图片转存中…(img-RZfI2oH4-1715324491097)]

⑫其他项目:

[外链图片转存中…(img-ny1dOdO3-1715324491098)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值