当前位置: 首页 > news >正文

SpringBoot和微服务学习记录Day3

Hystrix

熔断器

在分布式架构中,很多服务因为网络或自身原因不可避免发生故障,如果某个服务出现问题往往会导致一系列的服务都发生故障,导致整个微服务架构瘫痪,称为服务雪崩,Hystrix就是为了解决这个问题的

服务熔断

某个服务出现故障,而又有大量的请求发送,熔断器选择停掉这个服务器,保证不会进一步影响系统

引入熔断器依赖,在主启动类上加入@EnableCircuitBreaker注解导入熔断器
定义回调函数,在需要熔断器的方法上加入@HystirxCommand注解,填入回调函数

服务降级

发送大量的请求导致系统压力过大,熔断器选择关掉一些非核心的边缘业务,保证系统核心业务的正常运行

openFeign

定义一个类继承使用openFeign注解的接口,放进IOC容器中,重写服务降级的方法,当服务降级时就会使用这个类的方法
在接口的@FeignClient注解中加入fallback,用于实现服务降级方法的类
服务调用者和服务消费者的fallback方法的返回值要相同

两者通常一起使用,熔断在服务方,降级在请求方,服务熔断是服务降级的前提,服务降级是服务熔断的解决方式之一

gateway

又叫网关,是所有微服务的统一入口

引入gateway的依赖,同时也需要到注册中心中注册
可以使用配置文件和配置类,更推荐用文件的形式配置

具体配置

id:路由唯一标识
uri:指定路由服务的地址
predicates(断言):指定路由规则,怎么匹配,具体匹配哪一个路径

配置过滤器

通常在配置类配置实现GlobalFilter和Ordered接口

nacos

配置中心

1.namespace:命名空间,配置不同的环境开发环境,测试环境
2.group:组名,将不同的配置文件分开管理,比如说数据库配置等,更灵活
3.dataID:用于确定一个配置集

引入阿里的config的依赖

在.yml或者.prooerties中配置

spring.cloud.nacos.server-addr=localhost:8848
spring.cloud.nacos.config.group=DEFAULT_GROUP
spring.cloud.nacos.config.namespace=public
spring.cloud.nacos.config.file-extension=properties
spring.application.name=products
spring.profiles.active=prod


sentinel(流量卫兵)

对流量进行限制,降低系统负载,起到一个类似于熔断器的作用


redis集群主从架构

主从复制,读写分离

从库用于读数据,主库用于写数据,写后将数据同步到从库中,主从库的数据保持一致性

哨兵模式

主机宕机后,将由内部投票选出一个从机作为主机,端口号是26379

配置过程

1.首先建立主机和从机的文件夹,将redis.conf文件拷贝进去
2.将主机从机的bind设置为0.0.0.0用于远程连接,将每个端口修改为不同端口号
3.从机设置replicaof 主机端口 主机地址
4.建一个sentinel文件夹,建一个sentinel.conf文件,内容是
sentinel monitor mymaster 192.168.196.133 1
mymaster是主机名,然后是ip地址和端口号,1是投票机制,超过1即为新的主机
5.然后再redis中编译一下,make MALLOC=libc
6.启动sentinel.conf文件

相关文章:

  • Java 自动装箱与拆箱:基本数据类型与包装类的转换
  • 【Java面试笔记:基础】1.谈谈你对Java平台的理解?
  • pip永久换镜像地址
  • 解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题
  • DSRAM介绍
  • 【NCCL】transport建立(一)
  • c++学习之---vector
  • 【集群IP管理分配技术_DHCP】二、DHCP核心功能与技术实现
  • 实训Day-1 漏洞攻击实战
  • 深入解析React.lazy与Suspense:现代React应用的性能优化利器
  • 【网络安全】CI/CD 流水线漏洞
  • 动态监控进程
  • 固定总价合同工程范围变更,如果规避风险
  • 【分布式理论17】分布式调度3:分布式架构-从中央式调度到共享状态调度
  • 下载pycharm遇到的问题及解决方法
  • Docker Compose 和 Kubernetes(k8s)区别
  • 力扣2492:并查集/dfs
  • 【Flink SQL实战】 UTC 时区格式的 ISO 时间转东八区时间
  • 深度学习3.5图像分类数据集
  • SQL 使用 UPDATE FROM 语法进行更新
  • 民营经济促进法出台,自今年5月20日起施行
  • 俄宣布停火三天,外交部:希望各方继续通过对话谈判解决危机
  • 澎湃回声|山东莱州、潍坊对“三无”拖拉机产销市场展开调查排查
  • 走访中广核风电基地:701台风机如何乘风化电,点亮3000万人绿色生活
  • 药明康德一季度净利增长89%,在手订单增超四成至523亿元
  • 加拿大警方:已确认有9人在温哥华驾车撞人事件中遇难