源代码地址:
接着上一次的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