博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gremlin发布面向混沌实验的应用级故障注入(ALF)平台
阅读量:5932 次
发布时间:2019-06-19

本文共 1253 字,大约阅读时间需要 4 分钟。

在旧金山举行的大会上,Gremlin公司发布了其在“故障即服务”领域的第二款产品——。最初的SaaS产品旨在帮助工程师在基础设施级创建和运行混沌实验,在此基础上,ALFI通过本地语言库支持实现了应用程序级的故障注入。目前,仅支持Java/JVM平台,但很快就会加入其他语言库。

\\

根据Gremlin的文档介绍,“”,除了希望针对尝试注入故障外——如重启一个计算实例,增加网络连接延迟或消耗大量的内存——操作者也希望针对目标应用程序请求注入故障,例如,增加延迟或终止请求。

\\

在将ALFI库作为依赖项集成到应用程序之后,工程师可以使用基于Web的Gremlin UI来运行“攻击”,针对ALFI依赖项报告的特定应用程序属性来匹配和限定故障注入的影响。工程师可以创建一个范围精确的破坏实验,例如,只影响特定的客户ID、位置或设备类型。

\\

5646fb44afaf516ebf63db66ee6bdb0b.jpg

\\

选择通过ALFI进行故障注入的流量类型(图片来自

\\

Gremlin团队声称,由于ALFI嵌入到了应用程序中,因此,它可以在任何现有的环境中工作,其中也包括所有的无服务器平台,如AWS Lambda、Azure Functions和Google Cloud Functions。Gremlin认为,在使用微服务或函数即服务(FaaS)架构方式构建的系统中,许多事件的发生都是由于上游依赖项的某个地方出现了减速或故障。因此,ALFI可以模拟特定服务、特定RPC调用和外部依赖的延迟或全面故障,使工程师可以重现中断,主动发现未知的故障模式,并为多个组件发生故障的更复杂的场景做好准备。

\\

要使用ALFI,工程师必须将Gremlin语言依赖项集成到应用程序中并重新部署。针对当前支持的安装过程提供了一个详尽的步骤(目前只提供了一个Gradle依赖示例,很快就会提供一个Maven示例)。应用程序重新部署后,必须通过环境变量或属性文件配置一系列ALFI参数,比如。

\\

工程师操作的主要Java类是com.gremlin.GremlinService,该类抽象了向Gremlin SaaS平台API注册、查找和缓存实验以及向Gremlin API报告成功所需要的所有功能。GremlinService类被设计为单例,可以通过依赖注入框架进行管理。文档中提供了将故障注入集成到Java 和NoSQL数据库客户端的示例。还可以添加。

\\

ALFI的一个重要概念是,每个应用程序都有一组标识属性。这组属性被称为ApplicationCoordinates,用于确定应用程序何时通过基于Web的UI匹配攻击请求。gremlin-core依赖包括在AWS Lambda和Amazon EC2上运行的集成。在AWS Lambda中,将默认设置属性“type=AwsLambda、name和region”。在AWS EC2中,将设置属性“type=AwsEc2、region、az、instanceId”,例如:

\\

{\"type\"=\"AwsLambda\

转载地址:http://nvutx.baihongyu.com/

你可能感兴趣的文章
String详解
查看>>
线程 不安全,
查看>>
sql-server学习:索引
查看>>
常用安全资源整理(持续更新)
查看>>
【转】JMS的规范,以及MQ中p2p和publish/subscriber2中模式
查看>>
java Annotation的应用
查看>>
HDU3572 Task Schedule(ISAP)
查看>>
JQuery 选择器
查看>>
css3文本阴影
查看>>
Activity的活动周期
查看>>
java.io.InvalidClassException
查看>>
canvas学习笔记,实用知识点总结(上)
查看>>
vuecli2多页面 实测成功
查看>>
【细说Java】揭开Java的main方法神秘的面纱(转)
查看>>
HTML转义字符大全(转)
查看>>
CountDownLatch
查看>>
stuts1:(Struts)Action类及其相关类
查看>>
Linux系统的启动过程
查看>>
Python_day02_2018.7.3_(格式化输出,基本运算符)
查看>>
判断指定的成员名是否属于对象(In和hasOwnProperty)
查看>>