【笔记】 springCloudAlibaba服务注册和服务发现

日期: 栏目:常识 浏览:20

【笔记】 springCloudAlibaba服务注册和服务发现

源代码地址:

接着上一次的nacos初步讲解和安装

任意门:

如果启动失败的话 上一篇也是讲解过的.

本文章开始服务注册和发现

工程准备

创建一个父模块将里面的src删除即可留下.idea和pox.xml文件

  org.springframework.boot spring-boot-starter-parent 2.2.3.RELEASE    Hoxton.SR7 2.1.1.RELEASE      org.springframework.cloud spring-cloud-dependencies ${springCloud.version} pom import    com.alibaba.cloud spring-cloud-alibaba-dependencies ${springCloud-alibaba.version} pom import   

创建consumer工程模块和provide工程模块(调用者、服务者)

1.在consumer模块当中添加依赖

  org.springframework.boot spring-boot-starter-web   org.projectlombok lombok    com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 

2. 手写启动类

/** * @description: 杨不易网站:yangbuyi.top * @program: springcloudalibabaparent * @ClassName: AppConsumer * @create: 2020-08-16 20:57 * @author: yangbuyi * @since: JDK1.8 * @AppConsumer: **/@SpringBootApplication@Slf4j// nacos 服务发现 客户端@EnableDiscoveryClientpublic class AppConsumer { public static void main(String[] args) throws UnknownHostException {ConfigurableApplicationContext application = SpringApplication.run(AppConsumer.class, args);Environment env = application.getEnvironment();String ip = InetAddress.getLocalHost().getHostAddress();String port = env.getProperty("server.port");String path = env.getProperty("server.servlet.context-path");String hj = env.getProperty("spring.profiles.active");log.info("\n----------------------------------------------------------\n\t" +"Application yangbuyiCloud is running! Access URLs:\n\t" +"Local: \t\tlocalhost:" + port + path + "/\n\t" +"当前配置环境: \t\t当前环境为:" + hj + "/\n\t" +"----------------------------------------------------------"); } /** * @Description: 杨不易个人网址: * 功能描述: @LoadBalanced 让rest 拥有负载均衡的能力 * @Param: @RestTemplate http请求服务 * @return: * @Author: TeouBle * @Date: 2020/8/16 20:58 */ @Bean @LoadBalanced public RestTemplate restTemplate() {return new RestTemplate(); }}

3.在启动类上添加注解

nacos 服务发现 客户端 @EnableDiscoveryClient

4.在配置文件添加添加配置

server: port: 5000 servlet: context-path: /cloud-userspring: application: name: consumer-user cloud: nacos: discovery: #nacos服务的地址 不要加http # 可以写一个地址 集群会自动获取服务 但是为了安全起见还是全部写上 # server-addr: 127.0.0.1:8849,127.0.0.1:8850,127.0.0.1:8851 # 使用nginx反向代理 server-addr: 192.168.43.204:80 register-enabled: true # server-addr: localhost:8850name: 默认环境

上面看不懂的话也可直接写这样子的

server: port: 5000 servlet: context-path: /cloud-userspring: application: name: user-client# 将当前工程注册到nacos上面 cloud: nacos: discovery: server-addr: localhost:8848 #nacos服务的地址 不要加http

5.启动工程后, 在nacos当中查询服务列表

nacos服务没有下载的去观看上一章节的nacos服务安装和错误解决

6.使用相同方式 把provide服务注册到nacos上

创建启动类

package top.yangbuyi;/** * @description: 杨不易网站:yangbuyi.top * @program: springcloudalibabaparent * @ClassName: top.yangbuyi.AppConsumer * @create: 2020-08-16 20:57 * @author: yangbuyi * @since: JDK1.8 * @AppConsumer: **/@SpringBootApplication@Slf4j// nacos 服务发现 客户端@EnableDiscoveryClientpublic class AppProvide { public static void main(String[] args) throws UnknownHostException {ConfigurableApplicationContext application = SpringApplication.run(AppProvide.class, args);Environment env = application.getEnvironment();String ip = InetAddress.getLocalHost().getHostAddress();String port = env.getProperty("server.port");String path = env.getProperty("server.servlet.context-path");String hj = env.getProperty("spring.profiles.active");log.info("\n----------------------------------------------------------\n\t" +"Application yangbuyiCloud is running! Access URLs:\n\t" +"Local: \t\tlocalhost:" + port + path + "/\n\t" +"当前配置环境: \t\t当前环境为:" + hj + "/\n\t" +"----------------------------------------------------------"); } /** * @Description: 杨不易个人网址: * 功能描述: @LoadBalanced 让rest 拥有负载均衡的能力 * @Param: @RestTemplate http请求服务 * @return: * @Author: TeouBle * @Date: 2020/8/16 20:58 */ @Bean @LoadBalanced public RestTemplate restTemplate() {return new RestTemplate(); }}

创建yml配置

server: port: 7000 servlet: context-path: /cloud-ybyspring: application: name: provide-goods # 服务名称 服务ID cloud: nacos: discovery: server-addr: localhost:8085 # nacos服务地址 单个服务name: 默认环境

7. 启动两个服务 consumer和 provide 去nacos查看是否有

8. 在consumer工程中通过服务发现调用provide 工程

自己对着图片的打一遍 别偷懒

到此即可通过 consumer访问provide工程当中的方法啦

9.测试

nacos有问题请评论区联系我

完结 下一章节 nacos集群

本文地址:https://caijingdemo.com/changshi/76203.html

标签: