第一篇CSDN文章,甚至连如何发布CSDN都是百度的.
18年开始编程,毕业于杭州达内西湖中心(不是打广告,在那学的,纪念母校)纯小白开始.而且学的时候年龄已经算大了.一直觉得技术上,甚至不觉得自己有啥技术与计算机本专业的至少5年差距,但无论你在学习java或者其他语言的哪个阶段,都首先不要怀疑自己也同时做好被人白眼打击的准备,今天的菜鸟他日也可以展翅高飞.在怀疑自己的时候你倒不如埋头苦读,别把时间浪费在是不是自己太笨,别人是不是真的很聪明这种问题上.先会用,有时间再去深入看原理.
看过某个技术视频,教程后,可能20天不用,慢慢就遗忘了,这也是普通人的记忆曲线,或者说我比较笨,我可能10来天比较忙的话,就忘记了.所以记下来的目的一个是为了更好的巩固,写的过程也是自己记忆的过程,二是练习写文档。都只是个人理解,文章很浅,有写错的,说错的,觉得写的很差劲,太浅的,误人子弟的望指正,批评,教导。如有版权问题可联系删除.
为什么学习Nacos?------>微服务(是什么百度)
和Nacos有相同功能作用的其他应用:Zookeeper,Eureka,,Consul等
Nacos是什么?是一个应用于服务注册与发现、配置管理的平台.服务就是进程.常用于微服务架构设计中.解决项目中各服务之间相互调用的问题.官网文档:Nacos 快速开始
需要提前了解的:两者是相互的,即可以为生产者,也可以为消费者.只用于区别一下
生产者:项目中服务的提供方.
消费者:项目中服务的使用方(调用方)
为什么学习Openfeign?--->既然项目里有多个服务(进程),那么服务间如何调用呢.
直接开始应用:
首先下载解压Nacos且导入数据库文件和配置.下载地址:https://github.com/alibaba/nacos/releases
将nacos-mysql.sql导入数据库:
application.properties:配置要连接的数据库,连接数据库时使用的用户名和密码
启动Nacos:windows下进入Nocos对应的bin目录:startup.cmd -m standalone(standalone代表单机模式运行,集群模式自行百度我不会) 看到Completed initialization in X ms恭喜你.
初识Nacos:访问http://localhost:8848/nacos
做了这么多准备工作,是不是不敲代码手痒.开始代码吧.首先建个项目父工程,然后两个子服务对应的pom.xml文件配置如下,注意注释,便于理解:
父工程pom.xml
4.0.0
org.example
NacosTest
1.0-SNAPSHOT
provider
consumer
pom
8
8
Hoxton.SR8
2.2.5.RELEASE
org.springframework.boot
spring-boot-starter-parent
2.3.5.RELEASE
org.springframework.boot
spring-boot-devtools
runtime
true
org.springframework.cloud
spring-cloud-dependencies
${spring.cloud.version}
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
${spring.cloud.alibaba.version}
pom
import
服务生产者pom.xml:同学们注意注释
NacosTest
org.example
1.0-SNAPSHOT
4.0.0
provider
8
8
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
消费者(调用者)pom.xml
NacosTest
org.example
1.0-SNAPSHOT
4.0.0
consumer
8
8
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
服务生产者Application.yml文件配置:
#生产者配置文件
server:
port: 8081
#在nacos进行注册
spring:
application:
name: provider #服务名
cloud:
nacos:
server-addr: localhost:8848 #默认(服务和nacos在同一台电脑上时可以省略)
消费者application.yml
#消费者配置文件
server:
port: 8090
#在nacos进行注册
spring:
application:
name: consumer #Nacos上的服务名
cloud:
nacos:
server-addr: localhost:8848 #默认(服务和nacos在同一台电脑上时可以省略)
我们给生产者和消费者加上启动类,观察Nacos页面变化.
项目的大致结构:
注意消费者的启动类添加
@EnableFeignClients注解
消费者定义请求API,基于此API借助Openfeign访问生产者API且生产者有该接口
消费者添加接口供访问.
直接调用吧:
专注的自己又重温了一下Nacos服务间用OpenFeign调用,但是脖子歪了.