一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?
首先容我先说一句题外话:你们能不能不要再卷了,给我留条活路吧!
文章目录
- 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的世界,史上最简易教程!零基础也能看明白!谁反对?相关推荐
- 我的世界古代战争模组介绍java版_我的世界古代战争2mod教程零基础到专属军队...
小编为大家带来了<我的世界>古代战争2mod教程零基础到专属军队,古代战争是对Minecraaft的一种修正,他对Minecraft做出了多种的改变:新的方块,新的实体,新的世界生成模板, ...
- 卸载windows自带的杀毒软件Windows Defender(史上最简单的方法)
网上关于卸载Windows Defender的方法,大多都很麻烦...(我试了,没成功) 什么CMD输入命令:在"运行"对话框中输入命令"gpedit.msc" ...
- 三分钟带你了解Nacos:架构及部署
前言 一.什么是Nacos? 官方描述:一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速 ...
- 2021年零基础带你走进nacos的世界之云服务器下载安装nacos-小白教程,详细到爆了!
1.nacos简介 一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.简单了说就是注册中心+配置中心 2.nacos官网 https://nacos.io/zh-cn/index.htm ...
- 【密码学】一万字带您走进密码学的世界(上)
引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 为了使读者对密码学有一个整 ...
- python必备入门代码-初学必备:1分钟带你认识Python的代码(上)
在上篇文章,给小伙伴介绍了Anaconda和VS Code这两大神器[戳此查看:学习Python比不可少的两种神器],相信大家已经安装好,跃跃欲试准备写代码了吧~ 这里,我将通过几行代码向大家展示Py ...
- 【Minecraft】10分钟教你搭建我的世界Java版开服教程【Linux服务器+MCSManager管理面板】
一个人玩游戏没啥意思,和朋友一块联机呢,距离太远,家庭局域网宽带又没有公网ip,你的朋友没办法与你联机,然而你只需要一台服务器即可搞定了:但是很多用户没没接触过相关的内容,具体的该怎么操作呢?下面我将 ...
- 1-10落败,5分钟崩盘!星际2职业高手史上首次被AI击溃,AlphaStar一战成名
边策 栗子 夏乙 发自 凹非寺 量子位 & 腾讯科技 联合出品 5分36秒的战斗后,LiquidMaNa打出:GG. DeepMind开发的全新AI程序AlphaStar,在今天凌晨的< ...
- 小白轻松10分钟搞定Ubuntu常用命令(史上最全)
学习Ubuntu命令不仅可以轻松快捷地操作系统,而且能够深入地了解计算机原理. 1. 文件夹命令: pwd 显示当前目录路径名称cd 目录名称cd .. 退出当前目录cd / 退到根目录(经常用到)c ...
最新文章
- vue如何使用原生js写动画效果_手摸手,带你用 vue 动画实现原生 app 切换效果,丝滑般的体验...
- 支持向量机:Numerical Optimization
- 【面试测试题】贪婪是好事
- Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
- Excel鲜为人知的35招秘技
- 折线 没有显示_动画折线图,你还可以试试这个图表
- android的listview点击获取当前选项值的方法
- php 去掉字符串的最后一个字符
- 【最详细】Tcpdump使用实验
- pyecharts实现多节点、长路径的sankey桑基图
- Comparable 与 Comparator 比较
- mysql和php长度的漏洞_mysql和php字符长度判断
- 史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!
- 前端日志输出分享(没有技术,纯娱乐)
- 485芯片RO 口收不到信号问题分析
- 题解 P1621 【集合】
- Y7000联想拯救者gtx1050Ti安装cuda9.0
- STVD 新建STM8L151工程
- 串口通信(串口助手发送数据给单片机,单片机原封不动发给串口助手)
- 微信小程序周报(第九期)-极乐科技
热门文章
- [转]提示错误 package javax.servlet.jsp does not exist package javax.servletr.jsp.tagext does not exist...
- 【C】——常用C时间库函数
- SSH-jar包相应作用
- 感情沟通出了问题要怎么解决_冬养的月季花枝条干枯,开花萎蔫,哪里出了问题,该怎么解决?...
- navicat使用查询向表中插入一行记录_SQL--每日一解------Bulk Insert 快速插入
- 编程判断某个数为素数_【每日编程233期】素数对猜想
- angularjs全栈开发知乎_为什么你要去尝试全栈开发?
- java对xml文件的解析_Java对XML文件的解析
- python脚本自动运行失败_解决Python中定时任务线程无法自动退出的问题
- Java受查异常和运行时异常的理解