美文网首页
微服务 18:总览(上)

微服务 18:总览(上)

作者: _River_ | 来源:发表于2021-04-18 21:54 被阅读0次

至此:一个正常微服务项目的主体功能已经完成

1:项目略做优化
1:把Feign服务启动类去掉
2:把Feign服务的配置文件去掉
3:在Feign服务新增@Configuration 配置Feign的负载均衡策略
2:服务启动并调用接口测试
http://127.0.0.1:9000/nacos-consumer/seataTest/purchase/commit
注意观察数据库数据 可见已经实现了正常情况下的 分布式事务
3:调用流程
1:配置VM启动参数
    -Xms256M (设置JVM堆的初始大小)
    -Xmx256M(设置JVM堆的最大大小)
    -Dcsp.sentinel.dashboard.server=localhost:10001  (设置sentinel  限流熔断 可视化界面)
    -Dcsp.sentinel.app.type=1   (设置为网关sentinel类型   除了网关其他服务不用填 )
    -javaagent:A:\Instrument\apache-skywalking-apm-6.5.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar(设置skywalking 链路追踪界面)
    -Dskywalking.agent.service_name=gateway (设置该服务再skywalking界面的服务名称)
2:服务启动
    Gateway服务          9000     服务名称:gateway  
    Consumer服务        9991     服务名称:nacos-consumer
    Provider服务          9992     服务名称:nacos-provider(同名)
    ProviderOther服务   9993    服务名称:nacos-provider(同名)
    Storage服务           9995    服务名称:nacos-storage(同名)

3:服务注册到到Nacos
4:启动Sentinel (限流熔断功能)图形化界面
5:启动SkyWalking  (链路追踪功能)图形化界面
4:进行请求
1:外部接口请求网关
     http://127.0.0.1:9000/nacos-consumer/seataTest/purchase/commit

2:网关的Sentinel 进行限流  其可视化界面 sentinel-Dashboard可以查询

3:网关经过Nacos服务注册发现中心功能 查找到nacos-consumer的地址
    请求先经过网关服务的负载均衡处理  然后转发到nacos-consumer服务

4:在进入nacos-consumer(微服务)之后
    微服务的Sentinel 会先进行限流以及熔断的判断

5:nacos-consumer   以Jar包的方式使用Feign功能
    
6:在使用Feign请求其他服务的时候
    Feign经过Nacos服务注册发现中心功能选择调用的微服务 
    
    请求先经过Feign的负载均衡处理  然后转发到对应的服务服务
    如:服务名称nacos-provider 
        可能转发到   Provider服务  
        也可能 ProviderOther服务
    这两个服务实现了流量压力的分摊
 
    Storage服务 
    Provider服务         (服务名称nacos-provider)
    ProviderOther服务 (服务名称nacos-provider)

7:测试分布式事务seata的AT模式
    
    测试情况 1
         Consumer 先请求  Storage服务 成功 
         Consumer 后请求 Provider服务 成功

         Storage服务中Storage 库的storage表 数量减1
         Provider服务中Order   库的order表   新增1条数据
         Provider服务后续逻辑成功

      测试情况 2
        Consumer 先请求  Storage服务 成功 
        Consumer 后请求 ProviderOther服务 失败

        Storage服务中Storage 库的storage表 数量减1
        Provider服务中Order   库的order表   新增1条数据
       Provider服务后续逻辑成功(写死抛异常) 失败

        然后根据 storage表的undo_log 进行storage表 的回滚
        然后根据 order表的undo_log 进行order表 的回滚

8:可以查看数据库确认上述情况

9:结果响应到对应的界面
5:查看Sentinel 与 SkyWalking 图形界面
Sentinel 两次成功 两次失败
SkyWalking
    列表:
        快速查看响应时间(可以点击去对应的Mysql解释  有一整个Mysql的执行顺序)

    树型图
        快速理清楚调用关系:
     表格:
        快速总览整体调用的   效率与关系

项目连接

请配合项目代码食用效果更佳:
项目地址:
https://github.com/hesuijin/spring-cloud-alibaba-project
Git下载地址:
https://github.com.cnpmjs.org/hesuijin/spring-cloud-alibaba-project.git

https://github.com/hesuijin/spring-cloud-alibaba-project
Git下载地址:
https://github.com.cnpmjs.org/hesuijin/spring-cloud-alibaba-project.git

相关文章

  • 微服务 18:总览(上)

    至此:一个正常微服务项目的主体功能已经完成 1:项目略做优化 2:服务启动并调用接口测试 3:调用流程 4:进行请...

  • 2022-10-19 springboot 2022

    总览 1.对外提供服务及服务间通信web,webflux,graphql,rsocket,websocket,rp...

  • 微服务框架总览

    先放大招 微服务简介 微服务一定要区别于系统,服务是指一个或者一组相对较小且独立的功能单元,是在某一设计维度拆分的...

  • 微服务架构总览

    一、微服务定义 1.1 定义一 微服务是一种架构风格,将单体应用划分成一组小的服务,尽量符合单一职责的原则,使得服...

  • 深度净洗服务总览

    油烟机深度净洗 热水器深度净洗 空调挂机深度净洗 空调柜机深度净洗 空调天花机深度净洗 滚筒洗衣机深度净洗 波轮洗...

  • 微服务 19:总览(下)

    技术栈总览 技术名称作用优势SpringBoot取代了SSH(SSM)模式自动装配的快速整合Web服务Spring...

  • 微服务化改造系列之四:授权中心

    前情概要:微服务化改造系列之一:总览微服务化改造系列之二:服务注册中心微服务化改造系列之三:配置中心 授权中心概述...

  • 微服务化改造系列之三:配置中心

    前情概要:微服务化改造系列之一:总览微服务化改造系列之二:服务注册中心 配置中心概述 这篇文章是微服务化改造系列的...

  • 微服务化改造系列之二:服务注册中心

    前情概要:微服务化改造系列之一:总览 服务注册中心概述 这篇文章是微服务化改造系列的第二篇,主题是服务注册中心。作...

  • mycat集群搭建详解

    一,部署前准备 1.1软件版本 1.2 服务器分布 1.3 软件安装目录总览 二,Mycat的监听服务 使用部署好...

网友评论

      本文标题:微服务 18:总览(上)

      本文链接:https://www.haomeiwen.com/subject/dwtblltx.html