SpringCloud——学习笔记(二)

本文深入探讨微服务架构中的核心组件,包括Hystrix断路器的作用与配置,Zuul路由网关的设置与功能,SpringCloudConfig分布式配置中心的实现方式,以及分布式事务的处理方案。通过详细解释这些组件的工作原理和技术细节,帮助读者理解如何在微服务环境中有效管理和优化服务。

一.Hystrix断路器

  • 1.为什么需要 Hystrix断路器?

    雪崩现象: 复杂的分布式架构的应用程序有很多的依赖,当依赖的某个服务出现失败时(线程池阻塞),很容易拖垮整个应用。

    解决办法:

    对依赖做隔离,Hystrix就是处理依赖隔离的框架,同时也是可以帮我们做依赖服务的治理和监控

    hysrix(豪猪):保证微服务群的健壮,做了隔离,熔断,降级,缓存等操作。

    ​ 最终达到不会由于某个服务出问题而导致雪崩,让整个集群死掉。

    资源隔离(限流):线程池隔离,信号量隔离。分配每个服务的资源,互不影响。

    熔断:失败率达到阈值时自动触发降级

    降级:超时降级,资源不足时降级,降级后配合降级接口返回托底数据。减少损失

    缓存:提供了请求缓存,请求合并实现。

    所谓降级,就是当某个服务熔断之后,服务器将不再被调用,此时客户端可以自己准备一个本地的fallback回调,返回一个缺省值。

    熔断(服务提供方做)调用时不能用feign(有自己的机制),使用ribbon

    1.导jar包依赖

    2.启动断路器(@EnableHystrix)

    3.配置断路注解(@HystrixCommand(fallbackMethod = "getUserFailBack") //出现短路(超时,异常,多次访问都失败),托底数据访问(通过方法调用获取的))

    4.返回托底数据的方法(public User getUserFailBack(Long id){ return new User(id,"出现异常了亲!");})

Feign实现

  • 为什么使用Feign?

    每个方法都要加回调并且耦合。

  • 解决方案:

    可以使用spring面向切面编程,为feign的接口创建一个代理对象,完成对服务调用,当发现熔断后就调用同名托底方法。

  • 如果我们服务消费者实现的技术为ribbon,必须在服务提供者方通过Hystrix的断路器.

  • 如果我们服务消费者实现的技术为feign,必须在服务消费者通过feign的断路器,feign断路器底层还是Hystrix的断路器.

二.Zuul路由网关

Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。

  • Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka。

  • 路由访问映射规则 :

    安全加固:不用服务名,映射路径

    忽略原来访问:原来模式不可以访问

    加上统一前缀

  • yml配置

    zuul:
      routes:
         myUser.serviceId: user-provider
         myUser.path: /user/**  #以/user/开头的所有路径都转发给user-provider
      ignored-services:  "*" #可以一个一个配置,但是很麻烦,用*来通配
      prefix: "/services" #加上统一前缀
    

三.SpringCloud Config分布式配置中心

  • 微服务架构中,每个项目都有一个yml配置,管理起来麻烦。要使用spring cloud config来统一管理。

  • 在整个项目中需要一个config-server 所有的其他项目都对应一个config-clent,无论是provider consumer eureka等。

  • 实现

    gitjhub上面的数据就用yhptest的 服务端:能通过url访问配置 客户端:能够通过服务端最终访问配置信息 注意:config-server、和Eureka-sever的配置文件不能交给spring cloud config。注意先后

四.分布式事务

  • 事务: 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行.

  • 本地事务: SqlSessionfactory

    一个数据库范围类事务管理.

  • 分布式事务:

    跨了多个数据库事务管理,在微服务架构每个服务都有自己数据库,在微服务架构中必然要用到分布式事务.

    • 为什么需要?

      微服务架构所必须

  • 实现方案

    二阶段提交(耗时耗资源)

    tcc(强一致性)

    异步确保型(最终一致性-不实时)

转载于:https://my.oschina.net/u/3975109/blog/2999401

跟网型逆变器小干扰稳定性分析与控制策略优化研究(Simulink仿真实现)内容概要:本文围绕跟网型逆变器的小干扰稳定性展开分析,重点研究其在电力系统中的动态响应特性及控制策略优化问题。通过构建基于Simulink的仿真模型,对逆变器在不同工况下的小信号稳定性进行建模与分析,识别系统可能存在的振荡风险,并提出相应的控制优化方法以提升系统稳定性和动态性能。研究内容涵盖数学建模、稳定性判据分析、控制器设计与参数优化,并结合仿真验证所提策略的有效性,为新能源并网系统的稳定运行提供理论支持和技术参考。; 适合人群:具备电力电子、自动控制或电力系统相关背景,熟悉Matlab/Simulink仿真工具,从事新能源并网、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 分析跟网型逆变器在弱电网条件下的小干扰稳定性问题;② 设计并优化逆变器外环与内环控制器以提升系统阻尼特性;③ 利用Simulink搭建仿真模型验证理论分析与控制策略的有效性;④ 支持科研论文撰写、课题研究或工程项目中的稳定性评估与改进。; 阅读建议:建议读者结合文中提供的Simulink仿真模型,深入理解状态空间建模、特征值分析及控制器设计过程,重点关注控制参数变化对系统极点分布的影响,并通过动手仿真加深对小干扰稳定性机理的认识。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值