微服务学习3——利用sentinel实现服务器的容错

这篇具有很好参考价值的文章主要介绍了微服务学习3——利用sentinel实现服务器的容错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Sentinel服务器容错

(本文参考黑马程序员项目)
个人仓库地址:https://gitee.com/jkangle/springboot-exercise.git


在服务器中,由于网络原因可能会出现线程阻塞的情况,当线程阻塞的时候如果有大量的请求涌入,就会造成当前的服务瘫痪,由于服务与服务之间的依赖关系,故障会出现传播的情况,这样会造成服务器的雪崩效应。


因此就需要一种容错方案。有一些常见的容错组件就很好的包含一些容错方案,例如阿里巴巴开源的一款断路由器实现sentinel.

1.简单入门使用
1.1安装sentinel控制台

安装完成后直接用java命令运行(需要注意的是这样并不会将数据永久存储,如果你运行的sentinel关闭所有的数据这些就会消失)
微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel

1.2导入依赖

在本次项目的shop-order中

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>2021.1</version>
        </dependency>
1.3修改配置文件
server:
  port: 8091

spring:
  application:
    name: service-order
  main:
    allow-circular-references: true
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
    sentinel:
      transport:
        dashboard: localhost:8080
      eager: true



  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/shop?characterEncoding=UTF-8
    username: root
    password:

  jpa:
    properties:
      hibernate:
        hbm2ddl:
          auto: update
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect

可能出现如图的错误,这是因为存在依赖的循环,就是sentinel下的某一个类,循环依赖了(A中注入了B,B中也注入了A), 原因就是新版本的Spring默认不允许循环依赖!具体的分析看这位大佬的文章http://t.csdn.cn/6OeQp
微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel

1.4写一个测试案例
package org.example.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class OrderController1 {
    @RequestMapping("/order/massage1")
    public String massage1(){
        return "massage1";
    }

    @RequestMapping("/order/massage2")
    public String massage2(){
        return "massage2";
    }
}

1.5通过浏览器进入控制台

微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel
当启动测试案例,不停的刷新,这边就可以监控
微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel

1.6实现一个限流接口

微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel
当超过设置的流控之后就会出现
微服务学习3——利用sentinel实现服务器的容错,Java学习笔记,微服务,学习,sentinel文章来源地址https://www.toymoban.com/news/detail-537714.html

到了这里,关于微服务学习3——利用sentinel实现服务器的容错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Ansible实现批量Linux服务器安全配置

    1.摘要 在上一篇初步利用Ansible实现批量服务器自动化管理文章中, 我初步实现了通过编写清单和剧本来实现多台服务器的自动化管理,在本章节中, 我将利用Ansible的剧本来实现更实用、更复杂一点的功能, 主要功能包括三个:1.同时在三台服务器中增加IP访问控制,只允许192.168.2

    2024年01月20日
    浏览(52)
  • 4.微服务项目实战---Sentinel--服务容错

    在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络 原因或者自身的原因,服务并不能保证服务的 100% 可用,如果单个服务出现问题,调用这个服务就会 出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务

    2024年02月02日
    浏览(44)
  • 【SpringCloud】之Sentinel--服务容错的应用

      🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringCloud开发之Sentinel--服务容错的应用》。🎯🎯 🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁         在上一期的博客分享中我们对其网关的概

    2024年01月17日
    浏览(41)
  • 利用Apache实现正向代理,使内网服务器可以访问外网

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 正向代理和反向代理的定义可以自己查询资料,通常用的较多的场景使用Nginx作为反向代理服务器,Nginx做正向代理服务器时仅可以访问HTTP网站,不能访问HTTPS网站,用处不大。 本文所需要的准备,一台

    2024年01月20日
    浏览(59)
  • 【Spring Cloud】服务容错中间件Sentinel入门

    欢迎来到阿Q社区 https://bbs.csdn.net/topics/617897123 Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于 服务容错 的综合性解决方案。它以流量为切入点,从 流量控制、熔断降级、系统负载保护 等多个维度来保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景 :

    2024年04月15日
    浏览(41)
  • 【TCP/IP】利用I/O复用技术实现并发服务器 - select函数

    目录 I/O复用技术 select函数 设置文件描述符 指定监视范围 设置超时 I/O复用服务器端的实现        由服务器创建多个进程来实现并发的做法有时会带来一些问题,比如:内存上的开销、CPU的大量占用等,这些因素会消耗掉服务器端有限的计算资源、进而影响程序之间的执

    2024年02月08日
    浏览(51)
  • 12、利用NAT/NAPT实现外网主机访问内网服务器(思科)

    •网络地址转换NAT(Network Address Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 •默认情况下,内部IP地址是无法被路由

    2024年02月03日
    浏览(45)
  • 利用Windows搭建Emby媒体库服务器,轻松实现无公网IP的远程访问

    在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一,加上移动网络技术的发展,随时随地看视频已经成为基本需求。不过,随着资本向视频应用的集中,想要看视频就必须先充会员,这让笔者很是郁闷,于是产生了自建影音云盘的想法,期间也尝试了多种

    2024年02月08日
    浏览(66)
  • 【Spring Cloud】服务容错中间件Sentinel进阶——五大规则

    我们在上一篇文章中对 Sentinel 已经有了基本的了解,接下来,我们一起对它的进阶进行学习吧! 资源 所谓资源就是 Sentinel 要保护的东西,资源是 Sentinel 的关键概念。它可以是Java应用程序中的任何内容,可以是一个服务,也可以是一个方法,甚至可以是一段代码。 我们入门

    2024年04月26日
    浏览(39)
  • Cisco Packet Tracer 思科模拟器利用NAT实现外网主机访问内网服务器

    前两篇讲解了动态NAT地址转换,以及静态NAT地址转换,本篇文章主要讲解如何理由NAT实现外网主机访问内网服务器,含有重分布教学 情境分析 公司只申请了一个公网IP地址,基于私有地址与公有地址不能直接通信的原则,公网的计算机是不能直接访问内网服务器,要实现内网

    2024年02月07日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包