硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有

开篇

Spring Cloud Netflix已经不流行了,因为它已经不维护更新了,也不是说它不能用,只是有比它更好更新的。那就是Spring Cloud Alibaba系列。下面是Spring Cloud Alibaba的特性描述:

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第1张图片

 

使用的版本:

  • spring.boot.version:2.5.0 (目前最新)
  • spring-cloud-alibaba.version:2.2.1.RELEASE (目前最新)
  • dubbot: 2.7.6 (目前最新3.0.0)

关于项目结构

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第2张图片

 

以上的项目结构就可以理解成是一个微服务项目了,一个父工程中包含了2个子工程。 顾名思义,shop-api中存放的是接口和接口对象

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第3张图片

 

shop-service就是对于接口的实现。

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第4张图片

 

和大多数项目开发的架构一样,没有太多区别。

关于POM依赖

shop-api 的 pom.xml

没有什么特别的地方,就是需要什么用什么,和本文的Spring Cloud Alibaba & Dubbo整合主题无关。


    
        org.projectlombok
        lombok
    
    
        com.dove.jls
        dove-common
    
    
    
        io.springfox
        springfox-swagger2
    
    
        com.github.xiaoymin
        knife4j-spring-boot-starter
    
    
    
    
        org.springframework.boot
        spring-boot-starter-validation
    

shop-service 的 pom.xml

在shop-service中引入如下依赖,具有了dubbo和nacos相关的功能。



    com.alibaba.cloud
    spring-cloud-starter-dubbo



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery
    
        
        
            org.springframework.cloud
            spring-cloud-context
        
    

这里没有明确版本号,是因为在父工程的pom.xml有相关定义


    
        
        
            com.alibaba.cloud
            spring-cloud-alibaba-dependencies
            ${spring-cloud-alibaba.version}
            pom
            import
        
        
        
            org.springframework.boot
            spring-boot-dependencies
            ${spring.boot.version}
            pom
            import
        
    

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第5张图片

关于配置

具体介绍餐卡:dubbo配置参考手册

# 解决Invalid name=“org.apache.dubbo.config.ApplicationConfig#0“
dubbo.application.id=shop-service
dubbo.application.name=shop-service
dubbo.registry.address=nacos://localhost:8848
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881
dubbo.protocol.dispatcher=all
dubbo.protocol.threadpool=fixed
dubbo.protocol.threads=10

异常情况

启动的时候报了关于Ribbon错误,想到是和请求相关,如果引入可以解决,

 
    org.springframework.cloud
    spring-cloud-dependencies
    ${spring-cloud.version}
    pom
    import

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第6张图片

但是想到openFeignRibbon更好,所以试了试单独引入,问题解决。(3.0.3需要springboot版本2.4.x之上)


    org.springframework.cloud
    spring-cloud-starter-openfeign
    3.0.3

效果

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第7张图片

 

硬核!阿里首推Spring Cloud Alibaba & Dubbo整合,实战理论全都有_第8张图片

你可能感兴趣的:(java,后端,java,spring,spring,boot)