Debian 爱好者社区 为您找到相关结果 280

十条关于 WordPress 安全性的小贴士

-config.php 包含了数据库访问凭据和其他一些对入侵系统有助的有用信息。大多数人都将其保留在主要的 WordPress 文件夹中,但可以将其移动到上层的文件夹。大多数情况下,该文件夹位于 Web 服务器根目之外,而且无法通过 HTTP 请求进行访问。 或者,也可以通过配置 Web 服务器(如 Apache .htaccess 文件)来保护它: order allow,deny deny from all 6. 尽可能授予用户最低权限角色 用户是任何系统最弱的一点 — 特别是当他们可以选择使用自己的弱口令并将其传给任何问他们索要的人时。WordPress 提供了 一系列的角色和功能 。大多数情况下,用户应该是: 编辑: 可以发布和管理自己和其他人的帖子的人 作者: 可以发布和管理自己的帖子的人 贡献者...阅读全文

博文 2021-01-28 17:50:29 debian.cn

六个开源软件开发的潜规则

正如体育界不成文的规定一样,这些规则基本上不会出现在官方文档和正式记上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲,这些东西很难懂,甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说,这些都是理所当然的。 软件开发,特别是开源软件开发中,也有一套不成文的规定。和其它的团队运动一样,这些规定很大程度上决定了开源社区如何看待一名开发者,特别是新加入社区的开发者。 按部就班,循序渐进 在参与社区之前,比如开放源代码或者其它什么的,你需要做一些基本工作。对于有眼界的开源贡献者,这意味这你需要理解社区的目标,并学习应该从哪里起步。人人都想贡献源代码,但是只有少量的人做过准备,并且乐意、同时也有能力完成这项艰苦卓绝的工作:测试补丁、复审...阅读全文

博文 2017-05-20 10:27:11 debian.cn

你应该选择Cinnamon作为Linux桌面环境的十个理由

。 我们还可以在其中找到“Create New Document”选项,借此在~/Templates目中创建一个文档模板并列出现有模板选项。它使用的是用户默认的办公应用,我个人选择了LibreOffice。 8. 多工作区。Cinnamon与其他桌面环境一样提供多桌面功能,并将其称为“工作区”。工作区选择器位于Cinnamon面板中,且会显示每个工作区的窗口缩略图。不过,我发现工作区选择器有时候无法及时跟上窗口的显示位置,所以我通过调整让选择器仅显示工作区数量,而非工作区内的具体窗口。 9. Nemo。大多数桌面都会使用自己的默认应用,Cinnamon也是如此。我个人最喜爱的桌面文件管理器是Krusader,但Cinnamon默认使用Nemo,所以我对它进行了测试。Nemo确实相当出色,界面干...阅读全文

博文 2021-01-28 17:50:21 debian.cn

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构化日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式记,这样第三方日志处理系统就可以方便地从日志中解析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 重启后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

中国开源人访谈系列之:清风博主

、kde4到现在的kde5,一直在折腾。 2008年申请过两次Ubuntu的光盘 收到的或刻的部分光盘 最大的困难肯定是英语了,到现在也只是能看一些简单的技术文章,大段的英文一看就头大,肯定影响深入学习。对新手的建议:英语很重要! 3.您会使用Linux来做与地理或者教学有关的事吗? 答:现在日常使用的就是Linux桌面环境,自然教学工作也是用它。比如多媒体教学,用Linux基本没问题,学生都知道我的操作系统挺特别的。必须要windows系统的场景,一般用虚拟机也就够了。 4.曾经有没有考虑过从事计算机相关行业? 答:现在也算半个程序员吧,写过业余水平的php,也在帮人维护服务器。毕竟不是专业的,许多问题都是知其然而不知其所以然,因此业余时间主要是混QQ群,帮助别人,也提高自己。要说去从事计算机相...阅读全文

博文 2021-01-28 17:50:13 debian.cn

使用 MongoDB 之前应该知道的 14 件事

返回一个空的记集 。 Lookup 而没有索引支持 Lookup 的功能和 SQL 联合查询类似。为了获得良好的性能,作为外键的键值上需要有索引。这并不明显,因为其使用并没有在 explain() 中报告。这些索引并不包含在 explain() 记的索引里,那些索引是供管道操作符$match、$sort 出现在管道开始时使用的。现在,索引可以覆盖聚合管道的任何阶段 。 不使用多条更新 db.collection.update() 方法用于修改一个已存在文档的一部分或全部,或者是整个替换一个已存在的文档,这取决于你提供的 更新参数 。除非你设置 multi 参数,更新匹配查询条件的所有文档,否则它不会更新集合里的所有文档。这一点不是那么明显。 忘记哈希对象中键序的意义 在 JSON 中,一...阅读全文

译:零信任对 Kubernetes 意味着什么

的最细粒度的身份验证和授权。虽然服务网格可以提供帮助,但 Kubernetes 安全性仍然是一个复杂而微妙的话题,需要从多个层次进行了解。零信任是一种位于现代安全实践前沿的强大的安全模型。这也是一个容易引起轰动和炒作的术语,因此很难消除噪音。那么,究竟什么是零信任,对于 Kubernetes,它究竟意味着什么?在本文中,我们将从工程的角度探讨什么是零信任,并构建一个基本框架来理解它对 Kubernetes 运维和安全团队等的影响。介绍如果你正在构建现代云软件,无论是采用 Kubernetes 还是其他软件,可能都听说过“零信任”一词。零信任的安全模式变得如此重要,以至于美国联邦政府已经注意到:白宫最近发布了一份联邦零信任战略的备忘,要求所有美国联邦机构在年底前满足特定的零信任安全标准...阅读全文

阿里巴巴版 JDK 首发 GA 版 生产环境可用

消耗,更快的进入全速运行状态。 Java Flight Recorder(JFR) JFR 全名是 Java Flight Recorder(Java 飞行记仪)。众所周知,JFR 是 Oracle JDK 的商业收费功能,需要付费才可使用,虽然后期通过 OpenJDK 11 开源,但 Java 8 的用户群体无法使用且该部分人群较为庞大。因此,阿里巴巴开源 Dragonwell JDK 之时,便决定将该功能移植到 Alibaba Dragonwell 8 中供开发者使用。Java 开发人员可以通过 JFR 收集 JVM 运行过程中的详细 profiling 信息,配合 Java Mission Control (JMC), 提高 Java 应用的问题诊断及性能优化效率。 在本次的 GA...阅读全文

博文 2019-07-11 10:24:52 debian.cn

理解 Linux 的虚拟内存

受限于机器总线的数量,在32位机器上,有32条总线,每条总线有高低两种电位分别代表 bit 的 1 和 0,那么可访问的最大地址就是 2^32bit = 4GB,所以说 32 位机器上插入大于 4G 的内存是无效的,CPU 访问不到多于 4G 的内存。 但 64位机器并没有 64位总线,而且其最大内存还要受限于操作系统,Linux 目前支持最大 256G 内存。 根据虚拟内存的概念,在 32 位系统上运行 64 位软件也并无不可,但由于系统对虚拟内存地址的结构设计,64位的虚拟地址在32位系统内并不能使用。 直接操作物理内存 操作系统使用了虚拟内存,我们想要直接操作内存该怎么办呢? Linux 会将各个设备都映射到 /dev/ 目下的文件,我们可以通过这些设备文件直接操作硬件,内存也不例外...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Web前端知识体系精简

认为缓存已经过期(可能缓存还没有过期),在请求中加上字段:Cache-Control:max-age=0,发包向服务器查询是否有文件是否有更新。 强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件。 6、History操作 用户访问网页的历史记通常会被保存在一个类似于栈的对象中,即history对象,点击返回就出栈,跳下一页就入栈。 它提供了以下方法来操作页面的前进和后退: window.history.back() 返回到上一个页面 window.history.forward() 进入到下一个页面...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

两种集成测试,一种是一个 jenkins job,会不断调用 API 接口,确保API是按照预想的在工作,另一种是一个 Spinnaker 的 pipeline,用来执行日常任务(比如创建镜像,部署环境等)。当发现未知的失败是,首先执行回滚操作,直到这个问题被修复。 总结 Netflix 是一个优秀的企业,有着自由的精神和先进的技术,崇尚 DevOps 文化。而 Spinnaker 是他们在践行 DevOps 文化时创造出的优秀工具,通过这些工具我们能窥见他们对微服务和敏捷开发的深刻理解,希望能够给国内的开发者一些启发和帮助。 pipeline stage 目...阅读全文

博文 2018-12-21 19:30:47 debian.cn

aptitude 与 apt

dumpavail——打印可用软件包列表。apt-cache show pkgs——显示软件包记,类似于dpkg –print-avail。apt-cache pkgnames——打印软件包列表中所有软件包的名称。dpkg -S file——这个文件属于哪个已安装软件包。dpkg -L package——列出软件包中的所有文件。apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。 apt-file 是一个独立的软件包。您必须先使用 apt-get 来安装它,然後运行apt-file...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

分布式任务调度平台 XXL

期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动入执行器地址; 6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务; 7、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性 HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等; 8、故障转移:任务路由策略选择” 故障转移” 情况下,如果执行器集群中某一台机器故障,将会自动 Failover 切换到一台正常的执行器发送调度请求。 9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度; 10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务; 11、任务失败重试...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

下一代时间同步服务 Chrony 详解

。该参数的含义是在头四次 NTP 请求以 2s 或者更短的间隔,而不是以 minpoll x 指定的最小间隔,这样的设置可以让 chronyd 启动时快速进行一次同步。 其他的参数有 minpoll x 默认值是 6,代表 64s。maxpoll x 默认值是 9,代表 512s。 driftfile file Chrony 会根据实际时间计算修正值,并将补偿参数记在该指令指定的文件里,默认为 driftfile /var/lib/chrony/drift。 与 ntpd 或者 ntpdate 最大的区别就是,Chrony 的修正是连续的,通过减慢时钟或者加快时钟的方式连续的修正。而 ntpd 或者 ntpdate 搭配 Crontab 的校时工具是直接调整时间,会出现间断,并且相同时间可能...阅读全文

博文 2021-01-04 08:41:14 debian.cn

Java Annotations详解

Java注释被用来为java代码提供元数据(meta data)。作为元数据,注释不会直接影响代码的执行结果,不过事实上有些注释就是为了影响代码的执行结果而定义的。 Java注释是从Java 5开始添加的。本文对于Java注释的讨论是基于java 6的,据我所知,到目前为止Java 7中关于注释的部分并没有发生改变,所以本文对java 7编程人员上来说应该也是可用的。 目: · Java 注释的作用 · 注释的基础知识 · 注释的位置 · Java中预置的注释 · 创建你自己的注释 Java 注释的作用 预编译指令(Compiler instructions) 编译时指令(Build-time instructions) 运行时指令(Runtime instructions) Java有...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

提问的智慧 – 全文

散开发者们的负担,个人开发者(尤其是项目领导)也可能太忙,以至于没法回答你的问题。 大多数论坛记都会存档,那些存档将会被搜索引擎索引,如果你向论坛递交的提问得到解答,将来其他人可以通过网页搜索找到你的问题和答案,那么他们就不用再次提问了。 如果某些问题经常被问到,开发者可以利用此信息改进说明文件或软件本身,以使其更清晰明白。如果只是私下提问,就没有人能知道最常见问题是什么,也无法建立一个常见问题解答手册。 如果一个项目论坛中既有「用户」 也有「开发者」(或 「黑客」,而你又不钻研那些高深代码,那就向「用户」组论坛提问。不要以为自己会在「开发者」论坛中会受到欢迎,那些人只会认为你是一个在装逼的傻逼。 然而,如果你确信你的问题十分特殊,在「用户」组论坛中提问了好几天都没有回复,可以尝试在「开发...阅读全文

博文 2009-10-01 13:18:00 debian.cn

说透IO多路复用模型_京东云开发者的博客

了解这三块内容,即:inode,链表,红黑树。 在linux内核中,针对当前打开的文件,有一个open file table,里面记的是所有打开的文件描述符信息;同时也有一个inode table,里面则记的是底层的文件描述符信息。这里假如文件描述符B fork了文件描述符A,虽然在open file table中,我们看新增了一个文件描述符B,但是实际上,在inode table中,A和B的底层是一模一样的。这里,将inode table中的内容理解为windows中的文件属性,会更加贴切和易懂。这样存储的好处就是,无论上层文件描述符怎么变化,由于epoll监控的数据永远是inode table的底层数据,那么我就可以一直能够监控到文件的各种变化信息,这也是epoll高效的基础。更多详...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

深入理解Golang之context

context链可能是这样的:当前cancelCtx的父节点context并不是一个可取消的context,也就没法记children。timerCtxtimerCtx是一种基于cancelCtx的context类型,从字面上就能看出,这是一种可以定时取消的context。type timerCtx struct { cancelCtx timer *time.Timer // Under cancelCtx.mu. deadline time.Time } func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { return c.deadline, true } func (c *timerCtx) cancel...阅读全文

博文 2021-01-27 09:05:27 知乎

Gitlab CI 配置文件 .gitlab

。CI_COMMIT_REG_NAME就是一个很好的例子,它的值表示用于构建项目的分支或tag名称。除了在.gitlab-ci.yml中设置变量外,还有可以通过GitLab的界面上设置私有变量。 更多关于variables。 cache Gitlab Runner v0.7.0 开始引入。 cache用来指定需要在job之间缓存的文件或目。只能使用该项目工作空间内的路径。 从GitLab 9.0开始,pipelines和job就默认开启了缓存 如果cache定义在jobs的作用域之外,那么它就是全局缓存,所有jobs都可以使用该缓存。 缓存binaries和.config中的所有文件: rspec: script: test cache: paths: - binaries/ - .config 缓存git中没有被跟踪的文件...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

Kubernetes源码探疑:Pod IP泄露排查及解决方法

,VPC IP泄露的问题得到解决。 下图可以总结上面描述的第二个Sandbox容器诞生的原因。 事情离真相大白还有一段距离。还有一个问题需要回答: 为什么kubelet在删除第二个Sandbox容器的时候, 调用CNI拆除容器网络时,传入了不正确的NETNS环境变量参数? 失去的NETNS 还记得前面介绍kubelet工作核心循环syncLoop的时候,里面提到的定期清理事件(HouseKeeping)吗?HouseKeeping是一个每隔2s运行一次的定时任务,负责扫描清理孤儿Pod,删除其残余的Volume目并停止该Pod所属的Pod worker goroutine。HouseKeeping发现Job Pod进入Completed状态后,会查找该Pod是否还有正在运行的残余容器,如有则请理...阅读全文

三个技巧 大幅减少 Docker 镜像体积

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记...阅读全文

博文 2018-09-06 10:50:29 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.kubeflow.org/docs/components/training/tftraining/)资源,可以轻松创建上面提到的 TensorFlow 分布式策略。TFJob 可以识别容器化的 TensorFlow 代码中定义的分布式策略,并可以使用一组内置组件和控制逻辑对其进行管理。使得在 Kubeflow 中实现 TensorFlow 的分布式训练成为可能的组件包括: - Chief:组织分布式训练并执行模型检查点。 - Parameter Server:协调异步分布式训练和计算梯度。 - worker:执行学习任务。 - Evaluator:计算和记评估指标。 上述组件可以在 TFJob 中配置,TFJob 是一个用于 TensorFlow 训练的 Kubeflow...阅读全文

域名与商标: 如何防止域名被仲裁

域名,是用以简化记服务器IP地址的马夹,所以,域名只有通过解析到具体的IP地址才能访问网站,就相当于给IP地址穿上的一件马夹,避免我们去记那一长串的数字。可以说,域名的价值是依托于服务器的,没有域名的服务器,可以用IP地址访问,而不解析的域名,就仅仅只是一串字符而已。 商标,是用以区分商品(或服务)来源的一种显著标志,不同公司提供的相同商品,对于大众而言,商品上印刷的标志,代表的就是不同公司。商标的价值,是依托于产品和公司的。 由这一点来看,商标和域名是有其相似性的,广义上来说,它们都是一种指代的符号而已。 但是,域名由于其技术特性,它是虚拟的和全球唯一的,同样的域名不可能同时被两个人注册,它遵循着先注先得的原则,而商标,则允许在不同领域,由不同的人持有相同的商标,比如中国的“中华...阅读全文

博文 2019-01-18 14:59:59 debian.cn

六大算法之三:动态规划【转载】

)确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两个阶段的状态之间的关系来确定决策方法和状态转移方程。 (4)寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。 一般,只要解决问题的阶段、状态和状态转移决策确定了,就可以写出状态转移方程(包括边界条件)。 实际应用中可以按以下几个简化的步骤进行设计: (1)分析最优解的性质,并刻画其结构特征。 (2)递归的定义最优解。 (3)以自底向上或自顶向下的记忆化方式(备忘法)计算出最优值 (4)根据计算最优值时得到的信息,构造问题的最优解 算法实现的说明 动态规划的主要难点在...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Apache Flink 1.14 新特性预览 - OSCHINA

依靠 Checkpoint 机制,进行二阶段提交,从而保证数据的 Exactly-once 一致性。 具体可以这样说:在 Checkpoint 过程中,每个算子只会进行准备提交的操作。比如数据会提交到外部的临时存储目下,所有任务都完成这次 Checkpoint 后会收到一个信号,之后才会执行正式的 commit,把所有分布式的临时文件一次性以事务的方式提交到外部系统。 这种算法在当前有限流的情况下,作业结束后并不能保证有 Checkpoint,那么最后一部分数据如何提交? 在 1.14 中,这个问题得到了解决。Task 处理完所有数据之后,必须等待 Checkpoint 完成后才可以正式的退出,这是流批一体方面针对有限流任务结束的一些改进。 三、checkpoint 机制 1. 现有...阅读全文

博文 2021-09-05 07:26:58 中文开源技术交流社区

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

,MinIO的开源启示 关于ChatGPT的一切;CUDA入门之矩阵乘 李白:你的模型权重很不错,可惜被我没收了 单RTX 3090训练YOLOv5s,时间减少11小时 YOLOv5全面解析教程:网络结构逐行代码解读 比快更快,开源Stable Diffusion刷新作图速度 OneEmbedding:单卡训练TB级推荐模型不是梦 欢迎Star、试用OneFlow最新版本:GitHub - Oneflow-Inc/oneflow: OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.OneFlow is a deep learning framework designed...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

Apollo 配置中心简单介绍

本章将介绍如何在Apollo配置中心中删除已经发布的项目。 专栏目: 携程 Apollo 配置中心 | 学习笔记 序章 欢迎关注个人公众号: Coder编程 欢迎关注个人网站:https://coder-programming.cn/ 一、前言 之前一直学习SpringCloud, 对于配置中心,一直也是采用的Spring Cloud Config,但是用久了,发现很多地方满足不了要求,同时也感觉很low(个人看法勿喷)。在学习Spring cloud config 的时候也有听到过携程的apollo,但一直没时间去弄。直到昨天看了一张图,如下:使我下定决心去看看携程的apollo配置中心。 这张图也算是综合对比了spring cloud config,netflix archaius...阅读全文

博文 2021-04-09 17:53:51 CSDN

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

的网络架构复杂度高,节点、Pod、容器、服务、VPC 交相辉映,简直能让你眼花缭乱;网络问题排查需要一定的专业知识,大多数对网络问题都有种天生的恐惧;分布式 8 大谬误告诉我们网络不是稳定的、网络拓扑也不一成不变的、延时不可忽视,造成了端到端之间的网络拓扑不确定性。Kubernetes 环境下场景的网络问题有:conntrack 记满问题;IP 冲突;CoreDNS 解析慢、解析失败;节点没开外网。(对,你没听错);服务访问不通;配置问题(LoadBalance 配置、路由配置、device 配置、网卡配置);网络中断造成整个服务不可用。网络问题千千万万,但万变不离其宗的是网络有其表征其是否正常运行的”黄金指标“:网络流量和带宽;丢包数(率)和重传数(率);RTT。下面的示例展示了因网络问...阅读全文

博文 2022-03-21 09:11:51 joseph

Kafka 3.0新特性全面曝光,真香!

要给唯一id,以及对应的版本号。/config: 集群配置信息。/controller:kafka集群当中的控制器信息,控制器组件(Controller),是Apache Kafka的核心组件。它的主要作用是在Apache ZooKeeper的帮助下管理和协调整个Kafka集群。/controller_epoch:主要用于保存记controller的选举的次数。/isr_change_notification:isr列表发生变更时候的通知,在kafka当中由于存在ISR列表变更的情况发生,为了保证ISR列表更新的及时性,定义了isr_change_notification这个节点,主要用于通知Controller来及时将ISR列表进行变更。/latest_producer_id_block...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

谷歌公开了内部管理Infra层的两个工具的Paper

Annealing让我们可以可靠地自动化——或者至少流水线化——复杂的流程,比如重新放置服务。之前使用的自定义工作流更多地依赖人工而不是自动化来检测问题。相反,控制平面做如下事情: 完全建模服务:不再需要猜测依赖或者其他应该考虑的方面生成配置:不再需要编辑多个异构的配置文件推送变更,并且确保系统正在使用持续化执行。使用安全检查确保操作都是安全的并且顺序是正确的。 经验教训 转向基于intent的生产管理以来的这几年里,我们学到了很多关于什么有效和什么无效的知识。以下是其中的一些经验教训。 — 9 — 执行 具有某种形式的持续执行是基于intent的配置的基础。简单地对intent进行建模会导致信息的过时和缺失。我们已经在仅为管理turnup而创建的工作流中看到了此问题,这些工作流有在需要时中断的记,并且需...阅读全文

博文 2023-01-08 11:23:20 CSDN博客