广告
返回顶部
首页 > 资讯 > 后端开发 > GO >AWS Lambda 的断路器
  • 395
分享到

AWS Lambda 的断路器

2024-04-05 00:04:35 395人浏览 八月长安
摘要

哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《AWS Lambda 的断路器》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面

哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《AWS Lambda 的断路器》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

是否可以使用像 Gobreaker 这样的断路器库将 Http 请求包装在 lambda 处理程序中,我正在尝试类似下面的操作,但没有看到计数超过 1。也许 aws lambda 不可能?我已使用 sam 进行本地测试并部署在 aws 上。

func handler(ctx context.Context, request events.ALBTargetGroupRequest) (events.ALBTargetGroupResponse, error) {

  resp, errBreaker := cb.Execute(func() (interface{}, error) {
    return sendHttpRequestThatFails(request, ctx)
    })

    if errBreaker != nil {
       log.Fatal("Error Breaker:", errBreaker)
    }

    return resp.(events.ALBTargetGroupResponse), nil
}


func main() {
    //global config added to global circuit breaker variable
    var st gobreaker.Settings
    st.Name = "HTTP POST Breaker"
    st.Timeout = 2
    st.OnStateChange = func(name string, from gobreaker.State, to gobreaker.State) {
       // do smth when circuit breaker trips.
       log.Info("tripped breaker name : "+name+" from "+from.String() + " to "+to.String())
    }
    st.ReadyToTrip = func(counts gobreaker.Counts) bool {
       log.Info("counts ,",counts )
       return counts.TotalFailures >= 2 // I never see this count go over 1
    }

   cb = gobreaker.NewCircuitBreaker(st)
   nrlambda.Start(handler, app)
 }


解决方案


我在这里回答我自己的问题,因为我发现是什么导致计数保持在 1 并且不增加,log.fatal 代码行终止了 Lambda 函数的执行并清除所有 go 断路器计数,并且状态。删除此函数,函数完成,并且是可行的实例,可以由 AWS 保温。

AWS lambda 函数是无状态函数,您可以在此处找到更多信息:https://blog.checkpoint.com/2020/03/18/aws-lambda-stateless-ephemeral/,因此有关变量、对象等的信息在函数运行后丢失并在下次启动时重新开始。 要在无状态环境中实现 CB,您必须将函数调用的状态存储在外部数据库/缓存等中(对于 aws,它可能是 dynamoDb 表、Elasticache Redis、SNS 队列等)。所以这是可能做到的,但它有一点曲折。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于golang的相关知识,也可关注编程网公众号。

您可能感兴趣的文档:

--结束END--

本文标题: AWS Lambda 的断路器

本文链接: https://www.lsjlt.com/news/596767.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何通过AWS的Lambda和API Gateway走向Serverless
    本篇内容介绍了“如何通过AWS的Lambda和API Gateway走向Serverless”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简...
    99+
    2023-06-16
  • aws的云服务器
    Sws是一种常见的企业服务,包括了很多云服务器,以下是一些可能的选项: Amazon EC2:该云服务器提供高效的弹性计算基础设施,适合大规模数据处理。Amazon EC2云服务器提供高可用性、高性能、高安全性和高可扩展性,可以灵活地适...
    99+
    2023-10-26
    服务器 aws
  • h3c路由器断网问题
             我这边是公司的网络,用的H3C ER3100企业路由。最近每天都突然一段时间(大概持续10-30分钟)联不上网。 查看了下安全日志,说遭到了WinNuke***,而且每次清空了数据包记录后,显示“wan侧非法”的数据包总...
    99+
    2023-01-31
    路由器 断网 h3c
  • Node.js中断路器机制是怎么样的
    这篇文章将为大家详细讲解有关Node.js中断路器机制是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。架构演变带来的问题当我们使用传统的 CS 架构时,服务端由于...
    99+
    2022-10-19
  • Spring Cloud中的断路器Hystrix怎么使用
    本篇内容介绍了“Spring Cloud中的断路器Hystrix怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们分别启动服务注...
    99+
    2023-06-19
  • SpringCloud怎么实现断路器监控
    这篇文章主要介绍“SpringCloud怎么实现断路器监控”,在日常操作中,相信很多人在SpringCloud怎么实现断路器监控问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringCloud怎么实现断路...
    99+
    2023-06-05
  • 亚马逊的服务器:AWS
    1. 什么是 AWS? AWS(Amazon Web Services)是亚马逊公司提供的一种云计算服务,它提供了一系列的基础设施服务,包括计算、存储、数据库、分析、机器学习、人工智能、物联网、安全等等。AWS 的服务可以帮助企业和个人快...
    99+
    2023-10-27
    亚马逊 服务器 AWS
  • Java中Lambda表达式的进化之路详解
    目录Lambda表达式的进化之路为什么要使用Lambda表达式Lambda表达式的注意点下面是Lambda表达式的实现过程1.最开始使用的是定义外部实现类来完成接口2.开始使用静态内...
    99+
    2022-11-12
  • Spring Cloud如何实现断路器监控
    这篇文章主要为大家展示了“Spring Cloud如何实现断路器监控”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud如何实现断路器监控”这篇文章吧。一、Hystrix Da...
    99+
    2023-06-19
  • 美国服务器的线路状态如何判断
    判断美国服务器的线路状态可以通过以下几种方法:1. 使用网络诊断工具:可以使用一些网络诊断工具,如Ping、Traceroute等,...
    99+
    2023-10-11
    服务器
  • spring cloud gateway集成hystrix全局断路器的操作
    这篇文章主要讲解了“spring cloud gateway集成hystrix全局断路器的操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spring cloud gateway集成hys...
    99+
    2023-06-20
  • 最好的云服务器品牌:AWS
    1. AWS:云计算领域的领导者 AWS(亚马逊网络服务)是全球领先的云计算服务提供商,被广泛认为是最好的云服务器品牌之一。AWS提供了一系列全面的云计算服务,包括计算、存储、数据库、网络、人工智能和机器学习等。AWS的全球基础设施覆盖多...
    99+
    2023-10-27
    最好的 服务器 品牌
  • 亚马逊服务器(AWS)的优点
    1. 强大的可扩展性和灵活性 亚马逊服务器提供了强大的可扩展性和灵活性,使用户能够根据实际需求轻松调整服务器资源。无论是需要增加还是减少计算能力、存储空间或带宽,AWS都能够快速响应,并根据用户的需求进行自动扩展或收缩。这种灵活性使用户能...
    99+
    2023-10-27
    亚马逊 优点 服务器
  • spring cloud gateway集成hystrix全局断路器操作
    gateway集成hystrix全局断路器 pom.xml添加依赖 <dependency> <groupId>org.springframework.c...
    99+
    2022-11-12
  • Spring Cloud如何实现断路器聚合监控
    这篇文章主要为大家展示了“Spring Cloud如何实现断路器聚合监控”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud如何实现断路器聚合监控”这篇文章吧。一、Hystri...
    99+
    2023-06-19
  • Spring Cloud中如何使用Hystrix实现断路器
    这篇文章主要介绍了Spring Cloud中如何使用Hystrix实现断路器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring Cloud中如何使用Hystrix实现断路器文章都会有所收获,下面我们一起...
    99+
    2023-06-04
  • 云服务器路由器为什么快一点就断网
    云服务器路由器的工作原理与普通路由器类似,但它们的处理速度相对较慢。主要原因是以下几点: CPU占用率过高:云服务器路由器需要处理大量的I/O请求和数据流,如果处理速度不够快,很容易导致网络拥塞和数据丢失。 负载均衡和多线路负载均衡:虽...
    99+
    2023-10-26
    路由器 断网 服务器
  • SpringCloud hystrix断路器与局部降级全面介绍
    目录服务降级一、Hystrix的服务使用前的问题1、ProductController 中方法异常和超时2、访问查看效果3、问题分析二、 商品服务 Hystrix的 局部降级1、降级...
    99+
    2022-11-13
    SpringCloud hystrix断路器 SpringCloud hystrix服务降级
  • SpringCloud hystrix断路器与全局解耦全面介绍
    第七章中在ProductController 和OrderController 中都使用了局部服务降级,但同时也导致两个问题, 通过观察两个局部降级的案例,可以发现: 每个业务方法都...
    99+
    2022-11-13
    SpringCloud hystrix断路器 SpringCloud hystrix服务降级
  • SpringCloud hystrix断路器与全局解耦怎么实现
    这篇文章主要介绍“SpringCloud hystrix断路器与全局解耦怎么实现”,在日常操作中,相信很多人在SpringCloud hystrix断路器与全局解耦怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作