InfraPub 为您找到相关结果 290

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

为保护隐私而生 反取证操作系统:Kodachi

-bin、Sysv-rc-conf、Disper、Smbclient、Syslinux-utils、Fcitx、Ibus、Pidgin-Otr Kodachi 的安装使用: 方式一(推荐):下载 ISO 文件,并使用免费刻录工具(如 Rufus 或 Linux Live)将其刻录到 U 盘,然后通过插入 PC 来启动。你需按 F12键(不同电脑类型按键可能不同)进入引导菜单,并更改 BIOS 从 USB 启动。 方式二:下载 ISO 文件,并使用免费刻录工具(如 DAEMON Tools)将其刻录到 DVD 上,然后通过 PC 的光盘启动。 方式:下载 ISO 文件,使用 Vmware 或 Virtualbox 虚拟机来启动。 提示: 以普通用户身份登录系统: Username: kodachi...阅读全文

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

新加坡华侨银行(OCBC) 零门槛开户 使用APP在家即可申请

OCBC 简介OCBC 全称是新加坡华侨银行,是新加坡第二大银行。曾连续多年被评为“全球最安全银行”前名,本文会介绍一下 OCBC 的开户条件、流程、手续费等。下面是开户流程。拿不准的可以加我 TG @algo6,可以免费咨询境外银行开户、港美股开户等问题。所需材料:有效期大于6个月的护照,不是需要办理后满6个月。有NFC功能的手机 (扫描护照内置芯片使用)有效期内的身份证(需要拍摄身份证正面)大陆地区的手机号码(接收验证码使用)半年内充值超过 1000 SGD 用于激活账户(顺便领取现金奖励)1. APP 下载安卓有条件的可以使用 Google Play 搜索 OCBC,下载 OCBC Digital - Mobile。iOS 直接商店搜索。没有谷歌 Play 的可以试试 华为商店,或...阅读全文

如何在 Debian服务器 上启用双因子身份验证

双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第方服务,比如 Google Authenticator。这意味着单个验证方式的缺陷,不会影响账号的安全。本文我们将介绍如何在 Debian 服务器上启用双因子验证。 请注意,本文涉及到多次修改 SSH 配置,当你修改配置时,请确保有至少两个到服务器终端的连接。打开的终端将一直保持,即便 SSH 服务重启。第二终端意味着你可以修复你在SSH配置的错误。 密钥和密码验证的SSH SSH 支持对登录要求不止一个身份验证方法,我们首先启用密钥和密码验证。 在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方...阅读全文

博文 2018-12-05 11:44:56 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

中文原文:https://www.yangcs.net/posts/what-happens-when-k8s/ (杨传盛的博客) 英文原文:https://github.com/jamiehannaford/what-happens-when-k8s 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --image=nginx --replicas=3 然后回车。几秒钟后,你就会看到个 nginx pod 分布在所有的工作节点上。这一切就像变魔术一样,但你并不知道这一切的背后究竟发生了什么事情。 Kubernetes 的神奇之处在于:它可以通过用户友好的 API 来处理跨基础架构的...阅读全文

博文 2022-04-18 16:18:04 CSDN

互联网协议正在发生变化

的安全是否是一个正确的解决方案有很多的争论。确实,仍然有可能对使用 TLS 1.3 的通讯进行解密,但是,你需要去访问一个短暂密钥才能做到,并且,按照设计,它们不可能长时间存在。 在这一点上,TLS 1.3 看起来不会去改变以适应这些网络,但是,关于去创建另外一种协议有一些传言,这种协议允许第方去偷窥通讯内容,或者做更多的事情。这件事是否会得到推动还有待观察。 QUIC 在 HTTP/2 工作中,可以很明显地看到 TCP 有相似的低效率。因为 TCP 是一个按顺序发送的协议,一个数据包的丢失可能阻止其后面缓存区中的数据包被发送到应用程序。对于一个多路复用协议来说,这对性能有很大的影响。 QUIC 尝试去解决这种影响而在 UDP 之上重构了 TCP 语义(以及 HTTP/2 流模型的一部分...阅读全文

Debian 相比 Ubuntu 有哪些不同之处

更灵活的安装程序。 管理和程序包管理方面的区别 Debian和Ubuntu都鼓励使用根帐户用于管理,使用受限制帐户用于日常计算,这一点不足为奇。然而,选择的安全模式不一样。 在Debian中,用户通常通过直接登录进入到根帐户来执行管理任务,然后尽快再次注销,以便缩短安全隐患期。不过,Ubuntu隐藏了根密码;不是使用sudo,而是允许至少1个用户输入自己的密码,以便下达管理命令。 Debian的程序包主要分为大类:测试版、稳定版和不稳定版。新的程序包进入稳定版,然后在经过调试后转变成测试版。官方版本准备好后,处于测试版的现有程序包接受进一步的检查,最后成为新的稳定版。 近些年来,官方、甚至非官方增添了另外一些程序包,比如Backports、Experimental、Security、Old...阅读全文

博文 2017-12-22 23:41:07 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(上)

正确运行工作负载。 先决条件 本地Linux / macOS / BSD计算机上的SSH密钥对。 如果您之前没有使用过SSH密钥,可以按照如何在本地计算机上设置SSH密钥的说明来学习如何设置它们。运行Debian 9的台服务器,每台至少有2GB RAM和2个vCPU。 您应该能够以SSH密钥对的root用户身份SSH到每个服务器。Ansible安装在您的本地计算机上。 有关安装说明,请按照Ansible官方安装文档进行操作 。熟悉Ansible Playbook。 有关查看,请查看配置管理101:编写Ansible Playbooks 。了解如何从Docker镜像启动容器。 如果需要复习,请参阅如何在Debian 9上安装和使用Docker的 “第5步 - 运行Docker容器”。 第1步...阅读全文

博文 2019-05-13 22:47:39 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(下)

; 我们告诉kubeadm使用相同的子网。第二个任务在/home/sammy创建一个.kube目录。 此目录将保存配置信息,例如连接到群集所需的管理密钥文件以及群集的API地址。第个任务将从kubeadm init生成的/etc/kubernetes/admin.conf文件复制到非root用户的主目录。 这将允许您使用kubectl访问新创建的集群。最后一个任务运行kubectl apply安装Flannel 。 kubectl apply -f descriptor.[yml|json]是告诉kubectl创建描述descriptor.[yml|json]文件中descriptor.[yml|json]的对象的语法。 kube-flannel.yml文件包含在集群中设置Flannel所需的...阅读全文

博文 2019-05-13 22:57:41 debian.cn

最全 MongoDB 基础教程

sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列 语法 db.COLLECTION_NAME.find().sort({key: 1}) 案例 ruochen 集合中的数据按字段 likes 的降序排列 db.ruochen.find().sort({'likes': -1}).pretty() skip(), limilt(), sort()个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。 MongoDB 索引 creatIndex() 方法 MongoDB使用 createIndex() 方法来创建索引 语法...阅读全文

博文 2021-02-22 07:45:45 OSChina

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

是看顶层的哪个函数占据的宽度最大。只要有"平顶"(plateaus),就表示该函数可能存在性能问题。 颜色没有特殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选择暖色调。 、互动性 火焰图是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一层都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据总抽样次数的百分比。下面是一个例子。 mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。 左上角会同时显示"Reset Zoom",点击该链接,图片就会恢复原样。 (3)搜索 按下 Ctrl + F 会显示一个搜索框,用户可以输入关键词...阅读全文

博文 2022-03-11 10:05:09 博客园

译:Kubernetes 最佳实践

本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译者:文章中作者从应用程序开发、治理和集群配置个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有误的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译者注:还有启动探针)使用自动缩放使用资源请求和约...阅读全文

博文 2022-09-13 19:32:21 atbug.com

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

"] Dockerfile 的第一部分创建了个层,然后这些层被合并并复制到第二个阶段。在第二阶段,镜像顶部又添加了额外的两个层,所以总共是个层。 现在来验证一下。首先,构建容器: $ docker build -t node-multi-stage . 查看镜像的历史: $ docker history node-multi-stage IMAGE CREATED BY SIZE 331b81a245b1 /bin/sh -c #(nop) CMD ["index.js"] 0B bdfc932314af /bin/sh -c #(nop) EXPOSE 3000 0B f8992f6c62a6 /bin/sh -c #(nop) COPY dir:e2b57dff89be62f77… 1.62MB...阅读全文

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

Apache Kafka发布 3.0 正式版

Streams 时间戳同步KIP-695增强了 Streams 任务如何选择获取记录的语义,并扩展了配置属性的含义和可用值max.task.idle.ms。此更改需要 Kafka 消费者 API 中的一种新方法,currentLag如果本地已知且无需联系 Kafka Broker,则能够返回特定分区的消费者滞后。KIP-715:在流中公开提交的偏移量3.0开始,个新的方法添加到TaskMetadata接口:committedOffsets,endOffsets,和timeCurrentIdlingStarted。这些方法可以允许 Streams 应用程序跟踪其任务的进度和运行状况。KIP-740:清理公共 API TaskIdKIP-740代表了TaskId该类的重大革新。有几种方法和所有内部字段已被...阅读全文

博文 2021-09-26 14:13:03 joseph

Redis 命令、特性介绍与性能调优

位置,-2代表List倒数第二个位置。时间复杂度O(N) LSET:将指定List指定index上的元素设置为value,如果index越界则返回错误,时间复杂度O(N),如果操作的是头/尾部的元素,则时间复杂度为O(1) LINSERT:向指定List中指定元素之前/之后插入一个新元素,并返回操作后的List长度。如果指定的元素不存在,返回-1。如果指定key不存在,不会进行任何操作,时间复杂度O(N) 由于Redis的List是链表结构的,上述的个命令的算法效率较低,需要对List进行遍历,命令的耗时无法预估,在List长度大的情况下耗时会明显增加,应谨慎使用。 换句话说,Redis的List实际是设计来用于实现队列,而不是用于实现类似ArrayList这样的列表的。如果你不是想要实现...阅读全文

博文 2018-10-27 10:37:55 debian.cn

Apache Flink 1.14 新特性预览 - OSCHINA

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

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

Docker 17.06 社区版发布

—advertise-addr=eth0 —datapath-addr=eth1 集群管理的流量(Raft、grpc和gossip)将会通过eth0,而服务将会彼此通过eth1来通讯。 桌面版本 Docker for Mac和Docker for Windows添加了个新特性: GUI中新增了重置Docker数据而不需要丢失所有的设置 现在重置数据不会丢失设置。 为主机添加一个实验性的DNS 如果在Docker for Mac或者Docker for Windows上运行容器,并且想访问其他的容器,你可以使用一个新的实验性主机:docker.for.mac.localhost和docker.for.win.lcoalhost来访问开放的端口。例如: $ docker run -d -it -p 80:80...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Ceph 12.2.0 正式版本发布, 代号 Luminous

Luminous的升级后,集群将尝试将现有池与已知应用(即CephFS,RBD和RGW)相关联。未与应用程序关联的使用池将生成健康警告,可以使用新命令手动关联任何未关联的池。ceph osd pool application enable RGW RGW支持最终用户请求服务,通过ElasticSearch进行RGW元数据搜索,并且还支持自定义元数据字段。 查询语言是一组RESTful API,用户可以通过其元数据来搜索对象。还添加了允许自定义元数据字段控制的新API。 RGW支持动态存储桶索引分片。随着桶中的对象数量的增加,RGW将自动重新构建桶索引。不需要用户干预或桶大小容量规划。 RGW引入了上传对象的服务器端加密,用于管理加密密钥的个选项有:自动加密(仅推荐用于测试设置),客户提供的类似于...阅读全文

博文 2017-08-31 13:36:49 debian.cn

成功运作一个开源项目的15个要点

认可的开源许可证 不要创建你自己的自定义许可证;这将为任何想要使用你代码的人增加法律障碍。确保你选择的许可证与你打算使用代码的方式兼容。此外,请确保许可证与你的项目代码所需的任何第方内容(例如库)兼容。在所有源文件的标题中包含许可证的SPDX代码。 15、将项目移到开源基金会 前面已经提到过几次基金会。基金会首先可以帮助你保持项目供应商中立,这将有助于采用:开源软件的魅力大多是因为采用者可以避免被某个特定组织所关注。基金会可以坚持和保卫项目的商标,建立治理模式,帮助你管理品牌,提供知识产权管理服务,并为运营成功的开源项目提供常用的帮助和建议。成为开源基金会的一部分可以提供有价值的反馈循环。基金会可以为你的开源项目提供可信度,然后,开源项目反过来可以为基金会提供公信力。 运作开源项目包含很多...阅读全文

博文 2017-11-08 09:58:28 debian.cn

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

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

技术部门的 SEO 规范

robots 文件禁止搜索引擎抓取。未完成内容的网站、栏目不得上线。不存在页面必须返回 404 代码。每个月使用线上工具确认不存在页面服务器头信息。服务器开启 gzip 压缩。4XX、5XX 类服务器头信息不正常增多,及时通知SEO部门进行进一步检查。新站一律使用 https。开通子域名,需与 SEO 部门提前沟通并获得同意。 网站结构和URL URL一经确定上线,不得在没有得到SEO部门同意和提供对应机制的情况下,对URL做任何改动。除了已规划禁止搜索引擎抓取和收录的内容外,网站所有URL一律静态化。站内搜索结果页面使用robots文件禁止搜索引擎抓取。网站栏目与URL目录需一一对应,一级分类对应一级目录,二级分类对应二级目录。最多分级至二级目录,如果产品/页面数需要级以上分类,请先与SEO部门沟...阅读全文

博文 2019-03-28 13:58:51 debian.cn

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 编译 eBPF 代码;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为个过程: 以字节码的形式创建...阅读全文

博文 2020-08-16 11:08:44 debian.cn

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn

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

会出现两次。因此,请放弃使用 ntpd、ntpdate 来校时。 makestep threshold limit 此指令使 Chrony 根据需要通过加速或减慢时钟来逐渐校正任何时间偏移。例如:makestep 1.0 3,就表示当头次校时,如果时间相差 1.0s, 则跳跃式校时。 rtcsync 启用内核时间与 RTC 时间同步 (自动写回硬件)。 logdir 该参数用于指定 Chrony 日志文件的路径。 stratum weight 该参数用于设置当 chronyd 从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下设置为 0,让 chronyd 在选择源时忽略源的层级。 基本上常用的参数就只有这几个了,通常默认的配置文件就可以直接使用了,下面我们来看一个修改完...阅读全文

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

Go 语言的大版本更新:Go 2.0 安排上了

建议。 实现:根据来自社区的反馈意见,提案开始实现。 针对所实现的提案的反馈:在开发周期中,Go 开发团队和社区试用新功能并且收集进一步的反馈意见。 启动决策:在个月的开发周期结束时,根据在发布周期中收集的经验和反馈意见,Go 开发团队会考虑变更的预期收益或产生的额外成本,从而最终决定是否发布每个变更。一旦发布,这些被发布的提案就成为语言和库的一部分。未被发布的提案可能会重新起草,但也有可能会被永久拒绝。 可以看到,通过两轮的反馈过程,可对提案进行有效的筛选,从而防止“功能蔓延(feature creep)”,有助于保持 Go 语言的简洁。 提案选择标准 一项提案至少要满足以下这些条件: 解决大部分使用者觉得重要的问题 不会对其他使用者造成太大的影响 提供一个清晰且易于理解的解决方案 条件...阅读全文

SVN切换分支用法汇总

new_URL 该命令的作用是将版本库中的old_URL目录重命名为new_URL。这个操作如果已经提交到版本库就意味着旧目录不存在了,新目录被创建,并且历史记录中会出现重命名的信息。、SVN切换分支操作步骤下面为大家介绍一下,如何使用SVN进行切换分支的操作。这里以Windows环境下的操作为例,其他系统只需要将命令替换为对应系统的命令即可。1. SVN环境配置在使用SVN前,需要先进行环境配置。具体步骤如下:Step 1:下载SVN客户端。下载地址:https://tortoisesvn.net/downloads.html,选择对应的系统版本即可。Step 2:安装SVN客户端。双击下载后的安装程序,根据指示进行安装。Step 3:配置环境变量。进入系统变量中,将SVN安装路径添加到Path变量...阅读全文

博文 2023-06-09 14:22:35 infras

Linux下多线程程序为什么消耗大量虚拟内存

最近游戏已上线运营,进行服务器内存优化,发现一个非常奇妙的问题,我们的认证服务器(AuthServer)负责跟第方渠道SDK打交道(登陆和充值),由于采用了curl阻塞的方式,所以这里开了128个线程,奇怪的是每次刚启动的时候占用的虚拟内存在2.3G,然后每次处理消息就增加64M,增加到4.4G就不再增加了,由于我们采用预分配的方式,在线程内部根本没有大块分内存,那么这些内存到底是从哪来的呢?让人百思不得其解。 探索 一开始首先排除掉内存泄露,不可能每次都泄露64M内存这么巧合,为了证明我的观点,首先,我使用了valgrind。 valgrind --leak-check=full --track-fds=yes --log-file=./AuthServer.vlog & 然后启动测试...阅读全文

博文 2015-01-28 10:35:39 debian.cn

提问的智慧 – 全文

化为「u」,这会让你看起来像偷懒的傻逼。更有甚者像个小孩似地用火文来提问,那就绝对是在找死,真的是喊破喉咙也没有人来理你(或者会有人在围观,并给你一大堆指责与挖苦)。 如果你在非母语(中文)的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上懒惰(没错,我们能看得出其中的差别)。同时,除非你知道回复者们使用的语言,否则请使用英语书写。如果你用黑客看不懂的语言发送提问,繁忙的黑客一般会直接无视并立即除。英语是互联网上的通用语言,用英语书写可以避免你的问题被直接无视。 如果你要用英文作为第二语言来提问,你可以使用以下的语句来进行说明,降低回答者对你语言使用的不适感: English is not my native language; please excuse typing...阅读全文

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

最全的 DevOps 工具集合

种付费计划,并提供了开源的免费方案。TravisPro 提供了在客户自己的硬件上定制化部署专有版本的能力。 Concourse Concourse 是用 Go 编写的自动化系统。人们经常将它用于 CI/CD,其卖点是强大的可伸缩性,可以提供很简单或者很复杂的自动化管道。 AWS CodePipeline AWS CodePipeline 是一项完全托管的 CD 服务,可帮助你自动化发布管道,以实现快速、可靠的应用程序和基础架构更新流程。 每当你更改代码时,CodePipeline 都会根据你定义的发布模型自动执行发布流程中的构建、测试和部署阶段。这使你能够快速可靠地交付功能和更新。 你可以轻松地将 AWS CodePipeline 与第方服务(例如 GitHub)或你自己的自制插件集成。使...阅读全文

博文 2021-05-26 14:35:21 博客园

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

MongoDB 服务器都很重要。尤其是,除非有非常好的理由要使用mapReduce、group 或 $where,否则你应该 在配置文件中设置 javascriptEnabled:false,禁用 JavaScript。因为标准 MongoDB 的数据文件是不加密的,另外, 使用专门的用户运行 MongoDB 也是一个明智的做法,对数据文件的完全访问仅限于那个用户,这样就可以使用操作系统自带的文件访问控制了。 没有设计一个模式 对于模式,MongoDB 没有强制要求。这不是说它不需要模式。如果你真想保存文档而又没有一致的模式,那么你可以非常快速、简单地保存它们,但是 检索会十分麻烦 。 “MongoDB 模式设计的六大经验原则 ”是一篇值得一读的经典文章,而第方工具(如 Studio 3T)提供的类似...阅读全文

分布式运行时 Dapr 知多少

经渐渐回归业务本身,让更多的开发者看到了一丝曙光。It's enough? 来看下Bilgin Ibryam在Multi-Runtime Microservices Architecture文章中提及的分布式应用的四大需求: 从上图可以看出,除了网络(Networking)外,生命周期(Lifecycle)、状态(State)、捆绑(Binding)也是分布式应用要解决的问题之一。网络问题可以借由Service Mesh 比如Istio予以解决。那其他个该如何解决呢?又要应用自行开发集成吗?显然不符合应用回归业务本身的诉求。这时,Dapr登场了,Dapr提出的分布式应用运行时就是实现了以上四个需求并将其下沉作为分布式应用的运行环境。 简而言之:Dapr将分布式能力进行封装下沉作为运行时以简...阅读全文

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

。”平板电脑应用处理嚣,自动驾驶域处理器,数据中心应用处理器将是Chiplet率先落地的个领域。也是解决chiplet‘鸡’和‘蛋’的问题的原动力。”也就是说,虽然Chiplet有能力延续摩尔定律,但对于绝大多数不太先进的芯片公司而言,是没有必要早早就为芯片万能胶买单。因此也就能够理解,为何UCIe产业联盟是由几家芯片巨头携手共建的了。但不可否认的是,性能、功耗和面积的升级依然是芯片界向前发展的目标,随着越来越多的终端产品开始用得起更加先进的工艺制程时,芯片万能胶主流时代就不会再遥远。会有那么一天,但芯片万能胶的复用能力达到一定水平时,就有能力完全战胜晶体管集成了。如果您对文章内容有疑问,欢迎添加作者微信Yolanda_Zuu进一步讨论交流。作者 | 吴优编辑 | 包永刚访问:京东商城...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

。FSF 是 Debian 的赞助者,所以自然对我有所期望;但同时我在要求别人在闲时帮忙开发 Debian,所以那些人对我自然也有期望。有时候这两边的期望会出现分歧,我无法两边都满足。」 就这样,Debian 和 FSF 的正式合作关系画上了句号。不过 Murdock 始终都非常强调 Stallman 为 Debian 做出的贡献: 倘若没有他,没有他过去 15 年内从未动摇的坚定立场,我们也就不会有如今「免费软件」的理念。 不久之后,1996 年 3 月,Murdock 决定辞退 Debian 项目领导人的身份。 我最近结婚了,我想花更多的时间陪伴我的家人。我已经为 Debian 埋头苦干了年,我想我也是时候开始新的生活了。 在我们 1999 年面谈的时候,Murdock 表示他看到...阅读全文

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

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

建一个Pod。这个Pod的生命周期中,理想情况下,需要经历以下重要事件: 1. Pod被成功调度到某个工作节点,节点上的Kubelet通过Watch APIServer感知到创建Pod事件,开始创建Pod流程; 2. kubelet为Pod创建Sandbox容器,用于创建Pod网络名称空间和调用CNI插件初始化Pod网络,Sandbox容器启动后,会触发第一次kubelet PLEG(Pod Life Event Generator)事件。 3. 主容器创建并启动,触发第二次PLEG事件。 4. 主容器date命令运行结束,容器终止,触发第次PLEG事件。 5. kubelet杀死Pod中残余的Sandbox容器。 6. Sandbox容器被杀死,触发第四次PLEG事件。 其中3和4由于时...阅读全文

HTTP状态码详解

息不是在原始服务器上有效的确定集合,而是来自本地或者第方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。 204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。 如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。 由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。 205...阅读全文

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

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

于理论上的设计,也就是上面4个步骤的确定,一旦设计完成,实现部分就会非常简单。 使用动态规划求解问题,最重要的就是确定动态规划要素: (1)问题的阶段 (2)每个阶段的状态 (3)从前一个阶段转化到后一个阶段之间的递推关系。 递推关系必须是从次小的问题开始到较大的问题之间的转化,从这个角度来说,动态规划往往可以用递归程序来实现,不过因为递推可以充分利用前面保存的子问题的解来减少重复计算,所以对于大规模问题来说,有递归不可比拟的优势,这也是动态规划算法的核心之处。 确定了动态规划的这要素,整个求解过程就可以用一个最优决策表来描述,最优决策表是一个二维表,其中行表示决策的阶段,列表示问题状态,表格需要填写的数据一般对应此问题的在某个阶段某个状态下的最优值(如最短路径,最长公共子序列,最大价值...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

架来兼容这种环境。 开发工具 - 在实现框架时,提供尽可能小的摩擦将会使开发人员更快捷。哪些工具可以帮助编码,本地测试端点,以及单元和集成测试的stubbing/mocking?当事情出错时,我们需要能够看到包括内容在内的请求信息。消息格式等因素也可以使调试更容易依赖于工具,例如JSON消息是人可读的,但是二进制消息将需要额外的努力来解码。 成熟度和采用 - 对于初创公司来说,资源是有限的,需要花费在公司的核心业务上,而不是修复,测试和增强第方框架。诸如框架的普及,大规模使用的例子,社区的活跃程度以及框架本身的成熟度等因素都是稳定性的良好指标。需要强调的是,选择一个解决具体问题的框架,而并非选择最新最热的。 多平台支持 - 在真正的微服务思维中,使用最适合其目的的语言编写企业的服务,目前包...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Apollo 配置中心简单介绍

试为了简化部署,我们实际上会把Config Service、Eureka和Meta Server个逻辑角色部署在同一个JVM进程中 4.5.1 Why Eureka 为什么我们采用Eureka作为服务注册中心,而不是使用传统的zk、etcd呢?我大致总结了一下,有以下几方面的原因: 它提供了完整的Service Registry和Service Discovery实现 首先是提供了完整的实现,并且也经受住了Netflix自己的生产环境考验,相对使用起来会比较省心。和Spring Cloud无缝集成 我们的项目本身就使用了Spring Cloud和Spring Boot,同时Spring Cloud还有一套非常完善的开源代码来整合Eureka,所以使用起来非常方便。另外,Eureka还支持在...阅读全文

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

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

器通过持续运行如下个步骤来执行渐进式推出,如图10所示: Select:基于推出决策和check,决定在上线的这个点可以变更哪些asset。需要挑选一个特殊的集群吗?现在能否更新不止一个asset?Update:为所选的asset改变生产环境的状态到新状态。Validate:决定变更是否是好的。如果不是,推出应该在这里停止,可能还需要回滚。Strategist持续运行这个步骤,直到受推出影响的所有asset都已经被更新,或者遇到了什么问题。 图10:Select-Update-Validate循环 Select Select这一步的目标是找到现在就可以更新的asset。如果没有assest准备好推送,这一步可以不返回任何东西。通常,推出策略是在这里编码的——比如,一个策略指定应首先推送金...阅读全文

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

HAProxy用法详解 最详细中文文档

”段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。 “backend”段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器。 “listen”段通过关联“frontend”和“backend”定义了一个完整的代理,通常只对TCP流量有用。 所有代理的名称只能使用大写字母、小写字母、数字、-(中线)、_(下划线)、.(点号)和:(冒号)。此外,ACL名称会区分字母大小写。 、配置文件中的关键字参考 3.1 balance balance url_param [check_post []] 定义负载均衡算法,可用于“defaults”、“listen”和“backend”。用于在负载均衡场景中挑选一个server,其仅应用于持久信息不可用的条件下或需...阅读全文

博文 2014-05-10 17:14:46 debian.cn