Nacos和OpenFeign入门应用

第一篇CSDN文章,甚至连如何发布CSDN都是百度的.

18年开始编程,毕业于杭州达内西湖中心(不是打广告,在那学的,纪念母校)纯小白开始.而且学的时候年龄已经算大了.一直觉得技术上,甚至不觉得自己有啥技术与计算机本专业的至少5年差距,但无论你在学习java或者其他语言的哪个阶段,都首先不要怀疑自己也同时做好被人白眼打击的准备,今天的菜鸟他日也可以展翅高飞.在怀疑自己的时候你倒不如埋头苦读,别把时间浪费在是不是自己太笨,别人是不是真的很聪明这种问题上.先会用,有时间再去深入看原理.

看过某个技术视频,教程后,可能20天不用,慢慢就遗忘了,这也是普通人的记忆曲线,或者说我比较笨,我可能10来天比较忙的话,就忘记了.所以记下来的目的一个是为了更好的巩固,写的过程也是自己记忆的过程,二是练习写文档。都只是个人理解,文章很浅,有写错的,说错的,觉得写的很差劲,太浅的,误人子弟的望指正,批评,教导。如有版权问题可联系删除.

为什么学习Nacos?------>微服务(是什么百度)

和Nacos有相同功能作用的其他应用:Zookeeper,Eureka,,Consul等

Nacos是什么?是一个应用于服务注册与发现、配置管理的平台.服务就是进程.常用于微服务架构设计中.解决项目中各服务之间相互调用的问题.官网文档:Nacos 快速开始

需要提前了解的:两者是相互的,即可以为生产者,也可以为消费者.只用于区别一下

生产者:项目中服务的提供方.

消费者:项目中服务的使用方(调用方)

为什么学习Openfeign?--->既然项目里有多个服务(进程),那么服务间如何调用呢.

直接开始应用:

首先下载解压Nacos且导入数据库文件和配置.下载地址:https://github.com/alibaba/nacos/releases

Nacos和OpenFeign入门应用_第1张图片

 Nacos和OpenFeign入门应用_第2张图片

 将nacos-mysql.sql导入数据库:

Nacos和OpenFeign入门应用_第3张图片

 application.properties:配置要连接的数据库,连接数据库时使用的用户名和密码

Nacos和OpenFeign入门应用_第4张图片

 启动Nacos:windows下进入Nocos对应的bin目录:startup.cmd -m standalone(standalone代表单机模式运行,集群模式自行百度我不会) 看到Completed initialization in X ms恭喜你.

Nacos和OpenFeign入门应用_第5张图片

 初识Nacos:访问http://localhost:8848/nacos

Nacos和OpenFeign入门应用_第6张图片

做了这么多准备工作,是不是不敲代码手痒.开始代码吧.首先建个项目父工程,然后两个子服务对应的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页面变化.

Nacos和OpenFeign入门应用_第7张图片

 项目的大致结构:

Nacos和OpenFeign入门应用_第8张图片

 注意消费者的启动类添加

@EnableFeignClients注解

消费者定义请求API,基于此API借助Openfeign访问生产者API且生产者有该接口

消费者添加接口供访问.

Nacos和OpenFeign入门应用_第9张图片

 Nacos和OpenFeign入门应用_第10张图片

 Nacos和OpenFeign入门应用_第11张图片

 直接调用吧:

Nacos和OpenFeign入门应用_第12张图片

 专注的自己又重温了一下Nacos服务间用OpenFeign调用,但是脖子歪了.

你可能感兴趣的:(spring,cloud,java,后端,架构)