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

SRE 与 DevOps 的不同之处

尽管网站可靠性工程 (SRE) 理念早在 2003 年就由 Google 的 Ben Treynor Sloss 提出,但其近年来却一直受到追捧。随着 DevOps 实践已经在许多组织中牢固确立,两者之间的冲突是否已经显现?SRE 只不过是一种过时的趋势吗?是 SRE 补充了 DevOps,或者是 DevOps 补充了 SRE?让我们来回顾一下。

维基百科将 DevOps定义为“将软件开发 (Dev) 和 IT 运营 (Ops) 相结合的一组实践。它旨在缩短系统开发生命周期并提供高质量软件的持续交付。”根据网站可靠性工程,“SRE 专注于寻找改进系统设计和操作的方法,以使其更具可扩展性、更可靠和更高效。”通过简单回顾上述定义,我们可以看到 DevOps 的定义更侧重于实践,而 SRE 的定义包括设计和可靠性等词。确实,两者都涵盖了上述两方面,即:DevOps 不会忽略设计和可靠性,SRE 也不会没有实践,但是当我们着眼于每种方法的重点时,我们会发现两种定义中的这些细微差异在其实现中是显而易见的。我们将进行更深入的探讨,研究一些显著区别。

DevOps 与 SRE 的差异

文化

让我们从了解文化方面开始,DevOps 和 SRE 都被组织作为一种文化而非实践领域采用,从这个意义上说,它们是相同的,尽管团队可能被指定为主要负责支持该文化的实践。虽然每种文化都是灵活的,这使得团队(而不是跨团队的从业人员)可以直接专注于 DevOps 或 SRE 实践,组织通常会将 SRE 作为一个或多个专注的团队采用,而 DevOps 从业人员通常倾向于分散在团队中。

例如,再次参考这本书,2016 年 Google 雇佣了 1000 多名网站可靠性工程师负责支持全公司内的 SRE 文化。相反,一个仅仅雇佣网站可靠性工程师但不接受 SRE 文化的组织在 SRE 实践方面不太可能取得成功。尽管更加模糊,但在 DevOps 文化方面,组织也存在同样的二分法。

风险

接下来,我们应该研究各自的风险处理方法,这是 SRE 的核心属性。SRE 和 DevOps 都寻求最大限度地减少风险暴露并尽可能多地实施影响检测和响应,但是,SRE 文化将风险管理视为目标,而不是更常见的 DevOps 症状管理方法。假设两家几乎相同的网络应用程序公司,其中一家公司追求 DevOps,而另一家追求 SRE,它们都希望实现一个新功能作为其各自应用程序的一部分。

另外,假设每个相应的更改在应用程序中引入不可靠性的概率完全相同。由于 SRE 文化投资于风险承受能力定义,因此该公司必须立即更好地了解如何对拟议变更做出反应,这可能应在编写一行代码来支持它之前完成。当然,DevOps 组织可以定义和维护风险承受能力,也就是说,没有什么可以阻止 DevOps 采用相同的实践,但是将风险承受能力定义作为 SRE 的核心原则,在一开始就将对话中的风险背景定位为一件理所当然的事情。

机会成本

与风险承受能力相反的是机会成本。继续就前面的例子来说,DevOps 组织很可能处于更好的位置,可以最大限度地减少机会成本的损失。这是意料之中的,因为 SRE 组织已明确且有意地将机会成本置于风险管理之后。需重述的是,SRE 组织在必要时需接受机会成本损失,以达到预期的风险承受能力。这并不是说任何一个组织都希望失去机会成本,而是要强调稍微不同的优先级。

可观察性

DevOps 中常说的一句话就是,“如果未经测试,那么它就不起作用”。主动测试对于 DevOps 和 SRE 实践来说无疑是一项重要的活动,但是,使用测试结果的方式是 SRE 理念的核心。回顾我们最喜欢的书(第 3 章):“作为 Google 的标准做法,我们通常最好通过确定一个客观指标来代表我们想要优化的系统的属性。通过设定目标,我们可以评估当前的性能,并跟踪性能的改进或降低。”我们来设想两个组织,一个遵循 DevOps,另一个遵循 SRE。两个组织都跟踪部署失败率或新部署对服务造成负面影响的频率的关键绩效指标 (KPI)。两个组织都可能希望将此 KPI 设定为较低的值(例如 5% 或更低),但每个组织将该指标概念化的方式不同:DevOps 团队可能将较低的值作为减少服务中断的一种方式,而 SRE 团队会使用 KPI 作为计算服务错误预算的一部分(有关错误预算的更多信息,见下文)。

错误预算

为了将可观察性与环境结合起来,无论是在指标价值方面,还是在指标的成功优化方面,SRE 团队通常关注预算。从概念上讲,错误预算与财务预算没有什么不同,也就是定义支出金额,并根据该限额跟踪实际支出。错误预算作为 SRE 团队和一个或多个开发团队(DevOps 或其他)之间的协议而实施。这种策略可以帮助减缓两个团队之间的紧张关系,尽管他们在逻辑上对稳定性 (SRE) 和速度 (Dev) 的优先级是相反的;只要开发团队没有在一个时间范围内花费他们的错误预算,那么 SRE 团队就不需要提出有关稳定性的担忧,并且团队应该共同保持期望的速度。

事后析误

尽管有最好的计划和准备,服务仍会中断。处理此类中断是 DevOps 和 SRE 实践的重要部分,但是中断之后的事后析误也同样如此。记录事件、已采取的纠正措施、以及将采取哪些措施来防止事件再次发生,这些都是事后析误的组成部分,并有助于确保事件不会使团队或组织不堪重负。尽管任何组织都可以进行事后调查,但 SRE 理念明确规定了这种做法,任何追求这种文化的团队都应该这样做。DevOps 工程师要修复故障,肯定会进行故障分析,以某种方式记录问题所在,当然,还会尝试在将来避免该故障再次发生。但修复后,不一定要求 DevOps 工程师对故障进行全面的事后分析。如果您是一名 DevOps 工程师,并且确实实施了全面事后分析,那没关系,这可能只是意味着您正在实施 SRE 理念,而无关您是否了解这一理念。

采纳 SRE 文化

关于采纳,有几个问题需要回答:谁来采纳、为什么采纳以及如何采纳。

谁来采纳?

虽然 SRE 文化不仅仅是一套工具,甚至是一系列实践,但究其核心,SRE 注重的是可靠性。一个组织如果能从对其技术可靠性的日益关注中获益,不仅是对正常运行时间的潜在改进,还包括在提高可观察性方面的辅助收益、对增值指标的更加关注以及对错误预算的实施,就非常适合加入 SRE 文化。

在个人层面上,任何人都可以通过采用这一理念而成为 SRE 工程师。别误会我的意思,我并不是说你可以成为 SRE。不过,我确实认为,优秀的工程师可以学习采用 SRE 原则,从而追求 SRE 文化。没有什么可以阻止一个有动力的人学习如何遵循 SRE 实践。

在有些组织中,这涉及将现有的 DevOps 从业人员转变为专注于 SRE 实践的角色,或者作为一个集中的小组,或者嵌入到现有团队中。因为 SRE 很大程度上源于 DevOps 理念,所以从业人员获得的许多技能将在两个方向上转化。

值得注意的是,SRE 文化虽然源自谷歌,但并不是只有 Google 规模的组织可以从中受益。

为什么采纳?

更多地关注可靠性可能会使很多不同组织受益,但是,SRE 的主要好处来自于其文化,关注可操作的指标,通过错误预算、事件管理实践等查看技术堆栈。有很多(技术和文化)方法可以提高可靠性,但是追求 SRE 本身就是一种心态,也是一种实践。

如何采纳?

每个组织都是独一无二的,因此追求 SRE 文化对每个组织而言也具有内在的独特性。一些组织可能已经在内部构建了 DevOps 实践,或者遵循信息技术基础架构库 (ITIL) 框架来交付信息技术服务,或者遵循 Agile 方法来组织软件开发工作,无论现有模式如何,SRE 都可以是一个合适的选择。也就是说,考虑下列问题可能有助于推动事情顺利进行:

  • SRE 应替代 DevOps 吗?
    一些组织将两者结合起来,实现自然互补的目标和利益;事实上,一些从业人员将 SRE 视为 DevOps 的实现——“人们可以将 DevOps 视为几个核心 SRE 原则在更广泛的组织、管理结构和人员中的推广。我们同样也可以把 SRE 看作是具有一些特殊扩展的 DevOps 的一个特殊实现。”(DevOps 或 SRE – 第 1 章,“简介” – 网站可靠性工程)。一些团队发现,在单个 DevOps 团队中嵌入一个或多个 SRE 专家可以有效地确保横向采用 SRE 实践,而另一些团队则建立了 SRE 卓越中心。
  • SRE 应替代 ITIL 吗?
    就像 DevOps 一样,一些组织发现 ITIL 和 SRE 是非常互补的,两者都强调围绕变更管理的治理形式和对 SLO 的遵守。
  • Agile 是实现 SRE 文化的必要条件吗?
    当然不是。虽然许多组织发现 Agile 方法是 SRE 迭代过程的良好基础,并且与错误预算方法相匹配,但是任何方法都可以兼容。SRE 关注的是结果,而不是软件本身的生产,生产软件的方法并不直接相关。例如,遵循瀑布方法的组织将根据 SRE 的错误预算和测试方法实施风险评估和减免阶段。

需要注意

SRE 理念可能对许多组织有很多好处,但换句话说,“为所有人,但不是一切”,SRE 并不适合所有人,也不适合所有事情。

  • 并非所有组织都能因可靠性提高而受益,或者,重申一下,提高可靠性的增量成本并不能为所有组织带来相等或更大的增量价值。对于一些组织而言,这是一个规模问题;Google 的全球规模并不能使其成为唯一可能从 SRE受益的公司,但一家拥有几千名用户的小型初创公司可能也不足以证明这项投资的合理性。
  • 对于一些组织来说,可靠性的提高可能并不能证明开发速度的降低具有合理性。通过专注于错误预算等实践,SRE 组织必然会降低速度,而且应该有目的性地这么做。
  • 通过建立 SRE 实践,组织可能陷入“可靠性现在完全是 SRE 责任”的思维陷阱。可靠性是 SRE 的责任,但它在整个组织中共享,就像采用 SRE 之前一样。虽然这不是避免采用 SRE 的直接原因,但它可能导致组织无法充分发挥 SRE 的潜力,甚至放弃采用。
  • 将团队或团队成员重新标记为 “SRE” 并不意味着组织与 SRE 理念保持一致。例如,没有实施错误预算的 SRE 团队很难说与 SRE 支柱保持一致。这种差距可能会导致组织将 SRE 视为最新流行语,并将其视为昙花一现; 至少这种差距甚至会降低 SRE 的名义价值。

结论

SRE 不是一时的时尚,也不是灵丹妙药,它是一种建立在理解和接受某些可衡量参数范围内风险的文化。

希望采用 SRE 文化的组织可以在不破坏现有 DevOps、Agile、ITIL 或其他现有策略的情况下这样做。事实上,SRE 有意融入其中。尽管 SRE 的所有细节都不在本文的讨论范围内 ,但在互联网上有 SRE 从业人员,甚至是 SRE 的发明团队提供了大量可贵的资源,可以帮助我们采取下一步行动:

  • https://sre.google/
  • https://cloud.google.com/blog/products/devops-sre/how-sre-teams-are-organized-and-how-to-get-started
  • https://cloud.google.com/blog/products/devops-sre/5-google-sre-resources-to-get-started
  • https://www.blameless.com/the-essential-guide-to-sre

点击了解 Incredibuild 的 CI 构建加速方案,并获取试用 License!

相关文章:

SRE 与 DevOps 的不同之处

尽管网站可靠性工程 (SRE) 理念早在 2003 年就由 Google 的 Ben Treynor Sloss 提出,但其近年来却一直受到追捧。随着 DevOps 实践已经在许多组织中牢固确立,两者之间的冲突是否已经显现?SRE 只不过是一种过时的趋势吗?是 SRE 补充…...

【湖仓一体尝试】MYSQL和HIVE数据联合查询

爬了两天大大小小的一堆坑,今天把一个简单的单机环境的流程走通了,记录一笔。 先来个完工环境照: mysqlhadoophiveflinkicebergtrino 得益于IBM OPENJ9的优化,完全启动后的内存占用: 1)执行联合查询后的…...

SpringCloud跨服务调用失败Seata无法回滚解决办法

遇到的问题 在微服务项目中 有A、B、C三个服务 其中 A调用B服务 ,B调用C, 这些就是跨服务调用了,在A服务中 还调用了一个当前模块执行插入数据的方法(在这里我就叫它为AA 也就是mybatis/spring管理的本地事务) A服务开启全局事务注解 Globa…...

OSG三维渲染引擎编程学习之一百零一:“第十一章:OSG粒子” 之 “11.2 粒子模拟过程”

目录 第十一章 OSG粒子 11.2 粒子模拟过程 第十一章 OSG粒子 虚拟现实中有很多效果,如雨效、雪效、雾效等,这些都可以通过粒子条统来实现。一个真实的粒子系统的模式能使三维场景达到更好的效果。 粒子系统是一个非常复杂的粒子模拟过程。在OSG中,专门定义了新的名字空间o…...

Autosar CAN开发03(从实际应用认识CAN总线的物理层)

建议同时阅读本专栏的: Autosar CAN开发03(从实际应用认识CAN总线的物理层) Autosar CAN开发04(从实际应用认识CAN报文) Autosar CAN开发05(从实际应用认识CAN波特率) 前言 在上一章的《AU…...

vue中父子组件传值

父传子 传: 在"标签"上传属性 <Card :name"name"></Card> 接: 在props中 export default {props: {name: String},setup(props) {console.log(props.name);} } 子传父 传: 触发,给一个事件传值 setup(props,{emit}) {emit("get…...

【网络编程】基于UDP数据报实现回显服务器/客户端程序

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 前言 我们如果…...

sqlilabs第三十二三十三关

Less-32&#xff08;GET - Bypass custom filter adding slashes to dangerous chars) 手工注入 由 宽字符注入可知payload 成功触发报错 http://192.168.21.149/Less-32/ ?id1%df 要写字符串的话直接吧字符串变成ascii码 注意16进制的表示方式 自动注入 sqlmap -u http:…...

第二十一章博客

计算机应用实现了多台计算机间的互联&#xff0c;使得它们彼此之间能够进行数据交流。网络应用程序就是在已连接的不同计算机上运行的程序&#xff0c;这些程序借助于网络协议&#xff0c;相互之间可以交换数据。编写网络应用程序前&#xff0c;首先必须明确所要使用的网络协议…...

PSoc62™开发板之按键控制LED

实验目的 使用板子上的用户自定义按键控制LED亮灭&#xff0c;当按键按下时LED亮起来&#xff0c;不按下则不亮 电路图 按键电路 板子有两组按键&#xff0c;分别是系统复位按键和用户自定义按键&#xff0c;这里我们选择控制用户自定义按键&#xff0c;可以看到MCU_USER_B…...

Vue-Pinina基本教程

前言 官网地址&#xff1a;Pinia | The intuitive store for Vue.js (vuejs.org) 看以下内容&#xff0c;需要有vuex的基础&#xff0c;下面很多概念会直接省略&#xff0c;比如state、actions、getters用处含义等 1、什么是Pinina Pinia 是 Vue 的存储库&#xff0c;它允许您跨…...

大批量数据导出csv,平替导出excel性能优化解决方案封装工具类

阿丹&#xff1a; 有些业务逻辑需要在导出非常大量的数据&#xff0c;几百甚至几千万的数据这个时候再导出excel来对于性能都不是很友好&#xff0c;这个时候就需要替换实现思路来解决这个问题。 本文章提供了两种解决的方案&#xff0c;也是两种从数据库中拿取数据的方式一种是…...

C++ Qt开发:Charts绘制各类图表详解

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍TreeWidget与QCharts的常用方法及灵活运用。 …...

【SassVue】仿网易云播放器动画

简介 仿网易云播放动画 效果图&#xff08;效果图&#xff09; 最终成品效果 动画组件 src/components/music/MusicPlayAnimate.vue <template><div class"music-play"><div></div><div></div><div></div></di…...

CentOS进入单用户模式

一、重启 二、出现内核选项 按“e” 三、编辑这一行 输入 rw init/sysroot/bin/sh 四、进入单用户模式 ctrlx 进入 五、切换目录 chroot /sysroot 六、然后你就操作你的系统了。 修改密码等等...

微信小程序~如何设置页面的背景色

微信小程序~如何设置页面的背景色 众所周知&#xff0c;微信小程序每个页面由.json&#xff0c;.scss&#xff0c;.ts&#xff0c;.wxml这四个文件组成。 有的小伙伴会发现&#xff0c;需要给页面加背景色的时候&#xff0c;只需在此页面的.scss文件中写个page{background-colo…...

图灵日记之java奇妙历险记--输入输出方法数组

目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应…...

CSS新手入门笔记整理:CSS3弹性盒模型

特点 子元素宽度之和小于父元素宽度&#xff0c;所有子元素最终的宽度就是原来定义的宽度。子元素宽度之和大于父元素宽度&#xff0c;子元素会按比例来划分宽度。在使用弹性盒子模型之前&#xff0c;必须为父元素定义“display:flex;”或“display:inline-flex;”。 弹性盒子…...

OCP NVME SSD规范解读-1

OCP&#xff08;Open Compute Project&#xff09;是一个由Facebook于2011年发起的开源项目。其目标是重新设计和优化数据中心的硬件&#xff0c;包括服务器、存储、网络设备等&#xff0c;以提高效率&#xff0c;降低运营成本&#xff0c;并推动技术的创新和标准化。 在OCP中&…...

大规模和复杂问题挑战——分治思想来应战

分治思想利用了问题的内在结构和性质&#xff0c;使得大规模和复杂的问题能够被有效地解决。具体来说&#xff0c;分治思想的本质是通过问题分解、递归处理和解的合并&#xff0c;将一个复杂问题转化为一系列更简单的子问题&#xff0c;并最终得到原问题的解。 1、分治思想的本…...

六西格玛的科技漩涡——张驰咨询如何促成企业变革

在管理的海洋里&#xff0c;六西格玛管理是一艘稳健的航船&#xff0c;在质量管理的汪洋中乘风破浪&#xff0c;尽管质疑之声像远处的风暴不断逼近&#xff0c;但张驰咨询公司依靠这艘航船坚持初心&#xff0c;驭风而行。 20载耕耘&#xff0c;张驰咨询不仅仅是培养了超过8000…...

由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。

问题描述&#xff1a; 由于被认为是客户端对错误&#xff08;例如&#xff1a;畸形的请求语法、无效的请求信息帧或者虚拟的请求路由&#xff09;&#xff0c;服务器无法或不会处理当前请求。 在实现向数据库中添加记录时&#xff0c;请求发送无效&#xff0c;参数也未传递到控…...

【案例】图片预览

效果图 如何让图片放大&#xff0c;大多数的UI组件都带有这种功能&#xff0c;今天给大家介绍的这个插件除了放大之外&#xff0c;还可以旋转、移动、翻转、旋转、二次放大&#xff08;全屏&#xff09; 实现 npm i v-viewer -Smain.js 中引入 import viewerjs/dist/viewer.c…...

ubuntu 18/20/22 安装 mysql 数据库

这里写自定义目录标题 ubuntu 18/20/22 安装 mysql 数据库1. 准备2. 安装 mysql3. 配置4. 测试 demo 用户5 服务管理5.1 查看服务状态5.2 启动服务5.3 停止服务5.4 重启服务 ubuntu 18/20/22 安装 mysql 数据库 1. 准备 安装前需要知道 root 用户的密码 假如不知道 root 用户…...

通过U盘:将电脑进行重装电脑

目录 一.老毛桃制作winPE镜像 1.制作准备 2.具体制作 下载老毛桃工具 插入U盘 选择制作模式 正式配置U盘 安装提醒 安装成功 具体操作 二.使用ultrasio制作U盘 1.具体思路 2.图片操作 三.硬盘安装系统 具体操作 示例图 ​编辑 一.老毛桃制作winPE镜像 1.制作准…...

C# SqlSugar 数据库 T4模板

生成效果 模板代码 <# template debug"false" hostspecific"true" language"C#" #> <# output extension".cs" #> <# assembly name"System.Core" #> <# assembly name"System.Data" #>…...

ARM AArch64的TrustZone架构详解(下)

目录 五、软件架构 5.1 顶层软件架构 5.2 信任消息(message) 5.3 调度 5.4 OPTEE...

《Nature》预测 2024 科技大事:GPT-5预计明年发布等

《Nature》杂志近日盘点了 2024 年值得关注的科学事件&#xff0c;包括 GPT-5 与新一代 AlphaFold、超算 Jupiter、探索月球任务、生产「超级蚊子」、朝向星辰大海、试验下一代新冠疫苗、照亮暗物质、意识之辩第二回合、应对气候变化。 今年以来&#xff0c;以 ChatGPT 为代表…...

「Verilog学习笔记」并串转换

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 串并转换操作是非常灵活的操作&#xff0c;核心思想就是移位。串转并就是把1位的输入放到N位reg的最低位&#xff0c;然后N位reg左移一位&#xff0c;在把1位输入放到左移后…...

应急响应常用命令

应急响应的基本思路 a. 收集信息&#xff1a;收集告警信息、客户反馈信息、设备主机信息等 b. 判断类型&#xff1a;安全事件类型判断。&#xff08;钓鱼邮件、Webshll、爆破、中毒等&#xff09; c. 控制范围&#xff1a;隔离失陷设备 d. 分析研判&#xff1a;根据收集回来的…...

使用React和ResizeObserver实现自适应ECharts图表

关键词 React ECharts ResizeObserver 摘要 在现代 Web 开发中&#xff0c;响应式布局和数据可视化是非常常见的需求。本文将介绍如何使用React、ResizeObserver和ECharts库来创建一个自适应的图表组件。 什么是ResizeObserver ResizeObserver是JavaScript的一个API&#x…...

修改第三方npm包

文章目录 一、前言二、补丁方案2.1、patch-package2.2、pnpm patch 三、换日方案四、总结五、最后 一、前言 在开发过程中&#xff0c;发现某个npm包有Bug&#xff0c;应该怎么办&#xff1f;可以试试下面这2种方案&#xff1a; 代码量少&#xff0c;可以直接修改npm包代码的&…...

Redis性能优化:关键配置和最佳实践

大家好&#xff0c;我是升仔 Redis作为一个高性能的键值存储系统&#xff0c;在现代应用架构中扮演着至关重要的角色。性能优化是Redis部署与维护中的一个关键环节。本文将从关键配置、持久化配置、实践场景和异常处理配置等方面&#xff0c;详细介绍如何优化Redis的性能。 关…...

华为数通方向HCIP-DataCom H12-831题库(多选题:241-249)

第241题 (NEW) 以下哪些操作可能会影响客户网络的正常运行? A、从设备上下载日志 B、软件升级 C、路由协议配置变更 D、debug核心交换机上转发的所有IP报文 答案:ABCD 解析: 第242题 对于防火墙的默认安全区 Trust 和 Untrust 的说法,正确的有 A、从 Trust 区域访问 Untr…...

typeorm联表查询:副表json格式放到主表字段下或多个副表字段并列主表字段

实体类字段不做映射&#xff0c;typeorm实现联查查询 1、副表json格式放到主表字段下 //goods表和member表联表&#xff0c;关系goods.id member.uid&#xff0c;member表数据json对象格式放到主表userInfo下 //leftJoinAndMapOne配合getMany实现 const builder await getCo…...

Flume采集日志存储到HDFS

1 日志服务器上配置Flume,采集本地日志文件&#xff0c;发送到172.19.115.96 的flume上进行聚合&#xff0c;如日志服务器有多组&#xff0c;则在多台服务器上配置相同的配置 # Name the components on this agent a1.sources r1 a1.sinks k1 a1.channels c1# Describe/con…...

redis—String字符串

目录 前言 1.字符串数据类型 2.常见命令 3.典型应用场景 前言 字符串类型是Redis最基础的数据类型&#xff0c;关于字符串需要特别注意: 1)首先Redis中所有的键的类型都是字符串类型&#xff0c;而且其他几种数据结构也都是在字符串类似基础.上构建的&#xff0c;例如列表…...

三相电机转差率为负值的情形

1.电机开始发电的特征 注意&#xff0c;电机因为有输入频率对原始旋转磁场的影响&#xff0c;在正常工作时&#xff0c;应该处于稳态&#xff0c;因为旋转磁场决定了这个系统的运转方向和运转的大致频率区间。它会处于力矩平衡态。但是&#xff0c;如果&#xff0c;此时电机处…...

关于Dark Frost 僵尸网络对游戏行业进行DDoS攻击的动态情报

一、基本内容 近期&#xff0c;一种名为Dark Frost 的新型僵尸网络被发现正在对游戏行业发起分布式拒绝服务攻击&#xff08;DDoS)。目标包括游戏公司、游戏服务器托管提供商、在线流媒体甚至和网络信息安全攻击者直接交互的其他游戏社区成员。截至2023年2月&#xff0c;僵尸网…...

MongoDB数据库本地部署并结合内网穿透实现navicat公网访问

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 前言 MongoDB是一个基于分布式文件存储的数…...

前端学习笔记

文章目录 1、学习路线2、token的安全储存方案3、跨域4、相关的学习链接 前言&#xff1a;最近在学习前端补齐我的软件技能树&#xff0c;最近简单总结一下 1、学习路线 基本&#xff1a;vue3、ts(js)、 vite、eslint、css(动画、布局) 依赖包&#xff1a;vue-router、vue-i18…...

Vue实现响应式布局

前提准备&#xff1a;响应式布局有两种方法&#xff0c;看自己想要哪种。 方法一&#xff1a;百分比 用百分比去写元素的宽度&#xff0c;然后让子元素撑起父元素的高度 .parent {width: 50%; }.child {width:100%;height:100px; } 方法二&#xff1a;vh、vw vw、vh是基于视…...

linux:下载、网络请求、端口

一&#xff1a;ping命令 可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 1、选项&#xff1a;-c,检查的次数&#xff0c;不使用-c选项&#xff0c;将无限次数持续检查 2、参数&#xff1a;ip或主机名&#xff0c;被检查的服务器的…...

182.【2023年华为OD机试真题(C卷)】敏感字段加密(字符串的分割、替换和拼接实现JavaPythonC++JS)

请到本专栏顶置查阅最新的华为OD机试宝典 点击跳转到本专栏-算法之翼:华为OD机试 🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,深度掌握! 文章目录 【2023年华为OD机试真题(C卷)】敏感字段加密(字符串…...

新版IDEA中Git的使用(三)

说明&#xff1a;前面介绍了在新版IDEA中Git的基本操作、分支操作&#xff0c;本文介绍一下在新版IDEA中&#xff0c;如何回滚代码&#xff1b; 分以下三个阶段来介绍&#xff1a; 未Commit的文件&#xff1b; 已经Commit&#xff0c;但未push的文件&#xff1b; 已经push的…...

node - koa 获取 Content-Type: text/plain 的数据

目录 1&#xff0c;Content-Type2&#xff0c;koa 获取请求的数据 1&#xff0c;Content-Type Content-Type HTTP 标头用于设置资源的类型&#xff0c;常用的有3个&#xff1a; application/jsonapplication/x-www-form-urlencoded&#xff0c;form 表单提交的格式。multipar…...

树形结构

树形结构广泛存在于客观世界中&#xff0c;如族谱、目录、社会组织、各种事物的分类等&#xff0c;都可用树形结构表示。树形结构在计算机领域应用广泛&#xff0c;如操作系统中的目录结构&#xff1b;源程序编译时&#xff0c;可用树表示源程序的语法结构&#xff1b;在数据库…...

《C++避坑神器·二十四》简单搞懂json文件的读写之根据键值对读写Json

c11 json解析库nlohmann/json.hpp文件整个代码由一个头文件组成 json.hpp&#xff0c;没有子项目&#xff0c;没有依赖关系&#xff0c;没有复杂的构建系统&#xff0c;使用起来非常方便。 json.hpp库在文章末尾下载 读写主要有两种方式&#xff0c;第一种根据键值对读写&…...

SQL进阶理论篇(二十一):基于SQLMap的自动化SQL注入

文章目录 简介获取当前数据库和用户信息获取MySQL中的所有数据库名称查询wucai数据库中的所有数据表查看heros数据表中的所有字段查询heros表中的英雄信息总结参考文献 简介 从上一小节&#xff0c;可以发现&#xff0c;如果我们编写的代码存在着SQL注入的漏洞&#xff0c;后果…...

xtu oj 1055 整数分类

Description 按照下面方法对整数x进行分类&#xff1a;如果x是一个个位数&#xff0c;则x属于x类&#xff1b;否则将x的各位上的数码累加&#xff0c;得到一个新的x&#xff0c;依次迭代&#xff0c;可以得到x的所属类。比如说24&#xff0c;246&#xff0c;则24的类别数是6&a…...