暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringCloudAlibaba超级整合篇

码酱 2021-09-29
1025
本篇将学习到服务网关Gateway+注册中心Nacos+分布式调用Dubbo+熔断限流Sentinel+分布式事务Seata+链路追踪Zipkin整合项目,将前几篇学到的知识进行一个总结,一个小案例项目增加我们实操动手能力。小伙伴们学起来吧!

项目结构
|-- cloud-alibaba-demo(父级工程)
    |-- cloud-api     (基础工程)
    |-- cloud-gateway (网关服务)
    |-- cloud-storage (库存服务)
    |-- cloud-order   (订单服务)
    |-- cloud-account (账户服务)
    |-- cloud-business(业务服务)

我们借用seata官网的一张分布式服务图片,大致服务调用效果如下所示
整体的调用时序图如下所示

服务启动,nacos查看服务注册列表

服务启动,调用purchase下单接口,上http://127.0.0.1:9411/zipkin/查看完整链路

项目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.majiang</groupId>
    <artifactId>cloud-alibaba-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0-SNAPSHOT</version>
    <modules>
        <module>cloud-business</module>
        <module>cloud-account</module>
        <module>cloud-gateway</module>
        <module>cloud-api</module>
        <module>cloud-order</module>
        <module>cloud-storage</module>
    </modules>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <cloud.version>2.2.5.RELEASE</cloud.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.2.RELEASE</version>
    </parent>

    <dependencies>
        <!-- nacos注册中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>${cloud.version}</version>
        </dependency>
        <!-- nacos配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>${cloud.version}</version>
        </dependency>
        <!-- Dubbo依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-dubbo</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>
        <!-- sentinel依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>${cloud.version}</version>
        </dependency>
        <!-- seata依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
            <version>${cloud.version}</version>
        </dependency>
        <!--zipkin依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
            <version>${cloud.version}</version>
        </dependency>
        <!-- brave提供zipkin整合dubbo -->
        <dependency>
            <groupId>io.zipkin.brave</groupId>
            <artifactId>brave-instrumentation-dubbo</artifactId>
            <version>5.13.3</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

</project>


想要源码的朋友可以手动联系我哈!


喜欢就加个关注吧,


往期精选

#SpringCloudAlibaba系列
#SpringCloudNetflix系列

文章转载自码酱,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论