首先容我先说一句题外话:你们能不能不要再卷了,给我留条活路吧!

文章目录

  • 1、Nacos简介
  • 2、服务提供模块搭建
  • 3、服务消费者搭建
  • 4、测试

1、Nacos简介

阿里巴巴出品,经历了长达十多年的双十一磨练;我只能说一句:阿里出品,必是精品!
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单了说就是注册中心+配置中心(还不错,搞下台三个框架)。

如果你使用过Eureka,你就会发现Nacos是真的方便。服务列表也不用搭建了,nacos都帮你弄好了。

nacos的下载安装教程地址:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501

spring cloud alibaba nacos官网教程地址https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_start_a_consumer_application:

nacos官网地址:https://nacos.io/

2、服务提供模块搭建

1、创建一个父工程(pom文件如下)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.hao</groupId><artifactId>cloudAlibaba-nacos</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><modules><module>provider-service</module><module>consumer-service</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.6.RELEASE</version></parent><properties><spring.cloud.alibaba.version>2021.1</spring.cloud.alibaba.version><spring.cloud.alibaba.nacos.version>2.1.1.RELEASE</spring.cloud.alibaba.nacos.version></properties><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>${spring.cloud.alibaba.nacos.version}</version></dependency></dependencies></dependencyManagement>
</project>

2、创建一个服务提供子模块(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.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

3、controller层

@RestController
public class ProviderController {@GetMapping(value = "/echo/{str}")public String echo(@PathVariable("str") String str) {return "hello" +"\t"+ str;}
}

4、application.properties(或application.yaml)中必须包含Nacos的一些基础配置,如下

server:port: 8080
spring:application:name: provider-servicecloud:nacos:discovery:server-addr: http://你的ip:8848    #注册进服务中心

如果不想使用 Nacos 进行服务注册和发现,可以设置spring.cloud.nacos.discovery为false.

5、启动类

@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {public static void main(String[] args) {SpringApplication.run(NacosProviderApplication.class,args);}
}

启动provider之后,你就可以在 Nacos 控制台上看到注册的服务了。

注意一定要启动nacos服务,我在云服务器启动的nacos;如果不懂请移步:https://blog.csdn.net/Kevinnsm/article/details/117387323?spm=1001.2014.3001.5501

3、服务消费者搭建

除了controller之外,其他基本一样;不再叙述(application.yml启动端口需要改变、启动类run方法参数需要改动)

@RestController
public class ConsumerController {@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate LoadBalancerClient loadBalancerClient;@Value(value = "${spring.application.name}")private String serviceName;@GetMapping(value = "/echo/name")public String echoName() {ServiceInstance instance = loadBalancerClient.choose("provider-service");String path = String.format("http://%s:%s/echo/%s", instance.getHost(), instance.getPort(), serviceName);System.out.println(path);return restTemplate.getForObject(path,String.class);}
}

多了一个config配置类,因为要远程调用嘛!

@Configuration
public class NacosConfig {@Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();}
}

参考了官网的教程:https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_start_a_consumer_application

4、测试

启动这两个服务,访问ip:8848/nacos/

调用consumer接口 http://localhost:8081/echo/name



成功了呀!

一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?相关推荐

  1. 我的世界古代战争模组介绍java版_我的世界古代战争2mod教程零基础到专属军队...

    小编为大家带来了<我的世界>古代战争2mod教程零基础到专属军队,古代战争是对Minecraaft的一种修正,他对Minecraft做出了多种的改变:新的方块,新的实体,新的世界生成模板, ...

  2. 卸载windows自带的杀毒软件Windows Defender(史上最简单的方法)

    网上关于卸载Windows Defender的方法,大多都很麻烦...(我试了,没成功) 什么CMD输入命令:在"运行"对话框中输入命令"gpedit.msc" ...

  3. 三分钟带你了解Nacos:架构及部署

    前言 一.什么是Nacos? 官方描述:一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速 ...

  4. 2021年零基础带你走进nacos的世界之云服务器下载安装nacos-小白教程,详细到爆了!

    1.nacos简介 一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.简单了说就是注册中心+配置中心 2.nacos官网 https://nacos.io/zh-cn/index.htm ...

  5. 【密码学】一万字带您走进密码学的世界(上)

    引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 为了使读者对密码学有一个整 ...

  6. python必备入门代码-初学必备:1分钟带你认识Python的代码(上)

    在上篇文章,给小伙伴介绍了Anaconda和VS Code这两大神器[戳此查看:学习Python比不可少的两种神器],相信大家已经安装好,跃跃欲试准备写代码了吧~ 这里,我将通过几行代码向大家展示Py ...

  7. 【Minecraft】10分钟教你搭建我的世界Java版开服教程【Linux服务器+MCSManager管理面板】

    一个人玩游戏没啥意思,和朋友一块联机呢,距离太远,家庭局域网宽带又没有公网ip,你的朋友没办法与你联机,然而你只需要一台服务器即可搞定了:但是很多用户没没接触过相关的内容,具体的该怎么操作呢?下面我将 ...

  8. 1-10落败,5分钟崩盘!星际2职业高手史上首次被AI击溃,AlphaStar一战成名

    边策 栗子 夏乙 发自 凹非寺 量子位 & 腾讯科技 联合出品 5分36秒的战斗后,LiquidMaNa打出:GG. DeepMind开发的全新AI程序AlphaStar,在今天凌晨的< ...

  9. 小白轻松10分钟搞定Ubuntu常用命令(史上最全)

    学习Ubuntu命令不仅可以轻松快捷地操作系统,而且能够深入地了解计算机原理. 1. 文件夹命令: pwd 显示当前目录路径名称cd 目录名称cd .. 退出当前目录cd / 退到根目录(经常用到)c ...

最新文章

  1. vue如何使用原生js写动画效果_手摸手,带你用 vue 动画实现原生 app 切换效果,丝滑般的体验...
  2. 支持向量机:Numerical Optimization
  3. 【面试测试题】贪婪是好事
  4. Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
  5. Excel鲜为人知的35招秘技
  6. 折线 没有显示_动画折线图,你还可以试试这个图表
  7. android的listview点击获取当前选项值的方法
  8. php 去掉字符串的最后一个字符
  9. 【最详细】Tcpdump使用实验
  10. pyecharts实现多节点、长路径的sankey桑基图
  11. Comparable 与 Comparator 比较
  12. mysql和php长度的漏洞_mysql和php字符长度判断
  13. 史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!
  14. 前端日志输出分享(没有技术,纯娱乐)
  15. 485芯片RO 口收不到信号问题分析
  16. 题解 P1621 【集合】
  17. Y7000联想拯救者gtx1050Ti安装cuda9.0
  18. STVD 新建STM8L151工程
  19. 串口通信(串口助手发送数据给单片机,单片机原封不动发给串口助手)
  20. 微信小程序周报(第九期)-极乐科技

热门文章

  1. [转]提示错误 package javax.servlet.jsp does not exist package javax.servletr.jsp.tagext does not exist...
  2. 【C】——常用C时间库函数
  3. SSH-jar包相应作用
  4. 感情沟通出了问题要怎么解决_冬养的月季花枝条干枯,开花萎蔫,哪里出了问题,该怎么解决?...
  5. navicat使用查询向表中插入一行记录_SQL--每日一解------Bulk Insert 快速插入
  6. 编程判断某个数为素数_【每日编程233期】素数对猜想
  7. angularjs全栈开发知乎_为什么你要去尝试全栈开发?
  8. java对xml文件的解析_Java对XML文件的解析
  9. python脚本自动运行失败_解决Python中定时任务线程无法自动退出的问题
  10. Java受查异常和运行时异常的理解