InfraPub 为您找到相关结果 358

理解 Linux 的虚拟内存

有些矛盾。于是翻一下资料重新整理一下这些知识,希望下次在用到它们时能更顺畅。转载随意,请注明来源,文章持修订。 由来 虚拟内存 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。我想主要是由于内存的重要”战略地位”。CPU太快,但容量小且功能单一,其他 I/O 硬件支持各种花式功能,可是相对于 CPU,它们又太慢。于是它们之间就需要一种润滑剂来作为缓冲,这就是内存大显身手的地方。 而在现代操作系统中,多任务已是标配。多任务并行,大大提升了 CPU 利用率,但却引出了多个进程对内存操作的冲突问题,虚拟内存概念的提出就是为了解决这个问题。 虚拟内存简单直观的解释 操作系统有一块物理内存(中间的部分),有两个进程(实际会更多)P1 和 P2,操作系统偷偷地分别告诉 P1 和 P2,我的整个内存...阅读全文

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

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

认证凭证与本地的状态匹配。 如果认证失败,则请求失败并返回相应的错误信息;如果验证成功,则将请求中的 Authorization 请求头删除,并将用户信息添加到其上下文中。这给后的授权和准入控制器提供了访问之前建立的用户身份的能力。 授权 OK,现在请求已经发送,并且 kube-apiserver 已经成功验证我们是谁,终于解脱了! 然而事情并没有结束,虽然我们已经证明了我们是合法的,但我们有权执行此操作吗?毕竟身份和权限不是一回事。为了进行后的操作,kube-apiserver 还要对用户进行授权。 kube-apiserver 处理授权的方式与处理身份验证的方式相似:通过 kube-apiserver 的启动参数 --authorization_mode 参数设置。它将组合一系列授权...阅读全文

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

红帽 2017 峰会 第三天回顾:自动化的未来

为期三天的第13届红帽峰会已在波士顿当地时间5月4日闭幕。除了前两日报道的OpenShift与企业数字转型的动向,本次峰会还有另外两个产品动向值得注意。 1、以Ansible为核心的全栈自动化 红帽管理平台相关负责人已经明确在一次媒体沟通会上表示,Ansible已经被定位作为红帽自动化工具体系的中心。红帽其他的自动化工具—— 跨云管理产品CloudForms 自动打安全补丁产品Satellite 自动化运维工具Puppet API管理工具3scale 上述工具仍将继履行各自的职责,同时全面与Ansible集成。非红帽的其他自动化工具——比如Amazon Lambda——也优先以Ansible作为与红帽管理平台的接入点。也就是说,未来在Ansible上(尤其是Ansible Tower)将...阅读全文

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

三个简单而优秀的 Linux 网络监视器

有一个网络接口,可以不带选项运行 iftop。iftop 需要 root 权限: $ sudo iftop 当你有多个接口时,指定要监控的接口: sudo iftop -i wlan0 就像 top 一样,你可以在运行时更改显示选项。 h 切换帮助屏幕。 n 切换名称解析。 s 切换源主机显示,d 切换目标主机。 s 切换端口号。 N 切换端口解析。要全看到端口号,请关闭解析。 t 切换文本界面。默认显示需要 ncurses。我认为文本显示更易于阅读和更好的组织(图1)。 p 暂停显示。 q 退出程序。 图 1:文本显示是可读的和可组织的。 当你切换显示选项时,iftop 会继测量所有流量。你还可以选择要监控的单个主机。你需要主机的 IP 地址和网络掩码。我很好奇 Pandora 在我那可...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Stackstorm 入门介绍

结果发布到IM中,比如 HipChat、JIRA 或者 Slack 等。 自动修复 - 识别和验证OpenStack计算节点上的硬件故障,正确排空实例并向管理员发送关于潜在停机时间的电子邮件,但如果出现任何问题 - 冻结工作流程并呼叫PagerDuty唤醒人员。 持部署 - 与Jenkins一起构建和测试,配置新的AWS群集,基于NewRelic的应用程序性能数据,打开负载均衡器的一些流量,以及前滚或回滚。 Stackstorm工作原理 主要组件角色: 传感器(Sensors) 用于分别接收或监视事件的入站或出站集成的Python插件。 当来自外部系统的事件发生并由传感器处理时,StackStorm触发器将发射到系统中。 触发器(Triggers)外部事件的StackStorm表示形式...阅读全文

PostgreSQL 13 正式版发布

挑战,尽管之前的 PostgreSQL 版本已经做了一些工作来减轻清理的开销。 PostgreSQL 13 通过引入用于索引的并行化清理来继改进清理系统 。具体来说,VACUUM 命令能够并行处理索引。可以使用 VACUUM 命令上的新 PARALLEL 选项(或 vacuumdb 上的 --parallel)来访问其功能,该选项允许用户指定用于清理索引的并行 Worker 进程的数量。要注意的是,这不适用于 FULL 选项。由于管理员可以选择要运行的并行 Worker 进程的数量,因此可以针对特定的工作负载调整此新功能的使用。除了这些性能优势之外,数据插入现在还可以触发自动清理过程。 复制插槽(Replication slots),用于防止在复制副本接收到预写日志(WAL, write...阅读全文

博文 2020-10-04 20:07:23 debian.cn

Dubbo 2.7.0发布 分布式RPC服务框架

的异步模型。2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。在 2.7.0 中,通过对 URL 的改造,将 注册中心拆分成了三个中心 ,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息...阅读全文

博文 2019-01-18 09:43:16 debian.cn

JDK 11 版本时间表公布

) JSR-250:Java 平台的常用注解 已经得到确认的是,JDK 不再需要支持这些模块,因为它们已在过去的 12 年中得到很好的发展,并且可以在第三方站点(如 Maven Central)中随时获得。 CORBA 技术早在 1998 年就有了,但大多数现代应用程序已经不使用该项技术,因此 JDK 中可用的 CORBA 模块也将被移除。Oracle 认为继为 CORBA 提供支持得不偿失。 计划在 JDK 11 中移除的模块包括: java.xml.ws(JAX-WS,以及相关的 SAAJ 和 Web 服务元数据) java.xml.bind(JAXB) java.activation(JAF) java.xml.ws.annotation(通用注解) java.corba(CORBA...阅读全文

博文 2018-04-27 08:33:08 debian.cn

如何对一个deb包解压、修改、重新打包 全过程

extract目录下dpkg -X ../openssh-xxx.deb extract/#解压出包的控制信息extract/DEBIAN/下:dp... deb解压软件 01-04 用于解压deb文件,后可以用其它软件将解压后的文件转ipa 获取deb包并进行解压方法 狂客队长 05-26 1万+ 获取deb包: apt-get download 包名 解压deb包: 在这里保证你已经下载好了deb包,并且自己已经在deb包所在的目录了,然后解压缩deb包 ar -x pakname.deb 解压deb完毕后会发现多出几个文件,这里主要用到data.tar.gz等包,这个是放着二进制文件的包,用tar解压这个包 tar -zxf data.tar.gz Ubuntu中deb包详解及打包教程 张懿的博...阅读全文

博文 2021-02-16 11:44:48 CSDN

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

包括:无法准确清晰了解、掌控全局的系统运行架构;无法回答应用之间的连通性是否正确;多语言、多网络调用协议带来埋点成本呈线性增长,且重复埋点 ROI 低,开发一般将这类需求优先级降低,但可观测数据又不得不采集。2、下沉的基础设施能力屏蔽实现细节,问题定界越发困难基础设施能力继下沉,开发和运维关注点继分离,分层后彼此屏蔽了实现细节,数据方面不好关联了,出现问题后不能迅速地定界问题出现在哪一层。开发同学只关注应用是否正常工作,并不关心底层基础设施细节,出现问题后需要运维同学协同排查问题。运维同学在问题排查过程中,需要开发同学提供足够的上下游来推进排查,否则只拿到“某某应用延迟高”这么笼统的表述,这很难有进一步结果。所以,开发同学和运维同学之间需要共同语言来提高沟通效率,Kubernetes 的...阅读全文

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

王垠:如何掌握所有的程序语言

存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等等。 程序语言也是一样的道理。对于初学者来说,其实没必要纠结到底要先学哪一种语言,再学哪一种。曾经有人给我发信问这种问题,纠结了好几个星期,结果一个语言都还没开始学。有这纠结的时间,其实都可以把他纠结过的语言全部掌握了。 初学者往往不理解,每一种语言里面必然有一套“通用”的特性。比如变量,函数,整数和浮点数运算,等等。这些是每个通用程序语言里面都必须有的,一个都不能少。你只要通过“某种语言”学会了这些特性,掌握这些特性的根本概念,就能随时把这些知识应用到任何其它语言。你为此投入的时间基本不会浪。所以初学者纠结要“先学哪种语言”,这种时间花的很不值得,还不如随便挑一个语言,跳进去。 如果你不能用一种语言里面的...阅读全文

博文 2017-07-10 10:13:17 debian.cn

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

和图像的互相转换,而是所有模态之间都可以方便地互相转化。 第三个方向是,模型可以持学习。目前的模型如GPT都停滞在当初训练好的状态,并不会随着使用次数的增加而自我优化。我相信未来可以改变这一点。 如果上述三点都能实现的话,我们就可以解锁无数全新的应用场景,实现真正的科技革新,帮助人类实现科技的飞跃式前进。而且我相信,我们也有办法利用AI推动科研进步和新知识的产生。 我认为,现在普遍存在的一种错误观点是:“虽然语言模型的功能已经比较完善,还可以应用到图像和视频领域,将应用智能的边际成本降得非常低,但归根结底,它只是模仿人类做过的东西,不能为人类产生新知识,不能治疗癌症,也不能拓展人类已知的科学领域。”我相信,AI的发展会让持这种观点的人大吃一惊。 Reid Hoffman:AI将如何影响未来...阅读全文

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

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

如缓存最近登录的用户信息,当在Redis中找不到时,程序会去DB中读取),可以设置上有效期,这样在内存不够时Redis就会淘汰这部分数据。 配置方法: maxmemory-policy volatile-lru #默认是noeviction,即不进行数据淘汰 Pipelining Pipelining Redis提供许多批量操作的命令,如MSET/MGET/HMSET/HMGET等等,这些命令存在的意义是减少维护网络连接和传输数据所消耗的资源和时间。 例如连使用5次SET命令设置5个不同的key,比起使用一次MSET命令设置5个不同的key,效果是一样的,但前者会消耗更多的RTT(Round Trip Time)时长,永远应优先使用后者。 然而,如果客户端要连执行的多次操作无法通过...阅读全文

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

架构师详解 Nginx 架构

一个待处理事件的列表,使用非阻塞 I/O 方式调用“事件处理器”来处理该请求。其处理方式称为“多路 IO 复用方法”,常见的包括以下三种:select 模型、poll 模型、epoll 模型。 针对上面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:433540541,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免分享给大家。 四. Nginx 设计架构 Nginx 服务器使用 master/worker 多进程模式。多...阅读全文

博文 2018-05-01 23:10:47 debian.cn

成为Debian社区维护人需要做好的准备

出很多时间和努力。 1. 尽可能多地使用 Debian 完成日常工作。也就是说,成为开发者前,先做一个用户。 2. 阅读 Debian New Maintainer’s Guide 学习 Debian 打包的基本知识(英文版,中文版)。 这些知识能帮助你让不太复杂的软件包工作起来,但是与满足 Debian 标准之间还有相当大的距离。这个过程中可以独立地重新打包一个已经在仓库中的包,完成后和别人现有的工作进行对比,找出自己的不足。这个包一般不需要很复 杂,初学时直接弄复杂的包很可能只会浪很多精力。做包的过程中遇到任何问题都可以找有经验的人询问清楚,这对提高水平非常有益。 3. 寻找一个感兴趣的软件进行打包,WNPP (Work-needing and Prospective Packages...阅读全文

Web前端知识体系精简

,服务器返回该文件; 如果中引用了外部js文件,则发出js文件请求,服务器返回该文件后开始运行; 渲染引擎继载入html中的部分的代码,并开始解析前面返回的css文件,然后根据css选择器计算出节点的样式,创建渲染树; 从根节点递归调用,计算每一个元素的大小、位置等,给每个节点所应该出现在屏幕上的精确坐标; 如果body中的引用了图片资源,则立即向服务器发出请求,此时渲染引擎不会等待图片下载完毕,而是继渲染后面的代码; 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排版,因此引擎需要回过头来重新渲染这部分代码; 如果此时js脚本中运行了style.display="none", 布局被改变,引擎也需要重新渲染这部分代码; 直到为...阅读全文

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

Linux 基金会董事 Jim Zemlin:全球开源可持续增长将带来更多价值

6月19日-6月20日,LC3大会将在北京举办。这是 Linux 基金会首次在中国开展大型活动,届时,国内外开源方面的领先企业、人物及开发者将齐聚一堂,共同探讨开源的商业与技术。在活动举办前夕,开源中国邀请到 Linux 基金会执行董事 —— Jim Zemlin 做客【开源访谈】,与大家畅谈 Linux、开源趋势及LC3 活动。 (一)全球开源可持增长,加强合作将带来更多价值 “LC3 大会是 Linux 第一次在中国举办的活动,而实际上,我们去年已经开始在中国建立了一个我们自己的机构。” Jim 表示,此前 Linux 已经和华为、中国移动、中国开源促进联盟等中国的开源企业、社区开展了合作。 同时,Jim 表示未来希望能够不断地扩展 Linux在中国的活动及布局。他们在中国更多关注于...阅读全文

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

Tmux 快速教程:快捷键和配置

Tmux 简单来说就是终端里的『窗口管理器』,如果我使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要看一下 CPU 的使用率,就得再连接一次。但是如果在远程主机上运行 tmux,那么就可以开启多个控制台(类似于窗口),相当高效,比方说可以像下面这样: 需要注意的是,这里是在我本地使用 tmux,最好在远程主机也安装 tmux,这样就只需要连接一次。 Hello World 前面提到的窗口管理只是 tmux 功能的一小部分,另一个很有用的功能就是,连接到远程主机之后,一旦断开,那么当前账户登录的任务就被取消了,但是使用 tmux 可以在断开之后继工作,下次登录可以查看。其他的功能还有: 窗口切换,每个窗口里还可以分割面板 配置方便,可以使用脚本 类似 vim 的双层操...阅读全文

博文 2017-11-07 15:17:49 debian.cn

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这里没有明显的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引起媒体的持关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

://get.k3s.io | sh - 等到命令完成后,一个单节点集群就已经运行起来了。让我们检查一下,在这个派上执行命令后,可以看到以下输出, kmaster$ sudo kubectl get nodes NAME STATUS ROLES AGE VERSION kmaster Ready master 2m13s v1.14.3-k3s.1 部署工作节点 主节点完成安装后,我们开始部署工作节点。在工作节点上安装 K3s 时,会用到 join token 连接令牌,它可以使用如下命令从主节点上获取到。获取到令牌 join token 后,先保存起来,便于后使用, sudo cat /var/lib/rancher/k3s/server/node-token 我们把两个树莓派工作节点的主机名分别设置为...阅读全文

博文 2020-04-12 16:30:23 debian.cn

改善 Debian Linux 软件包管理的七款工具

如果你运行Debian或它的衍生版本之一(比如Linux Mint或Ubuntu),迟早会遇到apt-get和dpkg,它们是主要的软件包管理命令。然而,这些只是最常见的Debian软件包工具。这些年来,Debian实际上陆推出了几十款让安装和配置软件包更容易的脚本和工具。 许多这样的脚本和工具可以帮助你创建软件包。而且,它们常常包括你在桌面工具中根本找不到的功能特性。 下面是Debian中七款最实用的软件包管理工具。大多数工具还应该出现在Debian衍生版中: 7. Aptitude 众所周知,Aptitude是一款基于文本的软件包管理工具。桌面工具可能更符合现代用户的期望,不过Aptitude仍然很有用,所以常常默认情况下安装。 如果你试图修复阻止安装或删除其他任何内容的破损软件包...阅读全文

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

Kubernetes常用命令大全(持续更新)

kubernetes,简称K8s,是知名的开源容器编排与调度平台,它的目标是让容器化部署、资源分配简单且高效。K8s是绝对主流且流行的容器管理平台,据说在合肥运维同学不会k8s是找不到工作的。本文我们将列举常用的kubernetes命令,后会完善内容并提升易读性。 想起十几年前,我曾在Linux伊甸园的论坛,整理过一份rpm常用命令的列表,不知有多少朋友看过? 查看所有namespace的pods运行情况 kubectl get pods --all-namespaces 查看具体pods,记得后边跟namespace名字哦 kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system 查看...阅读全文

博文 2020-03-13 12:35:13 debian.cn

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

。 public static int solutionFibonacci(int n){ if(n==0){ return 0; }else if(n == 1){ return 1; }else{ int result[] = new int[n+1]; result[0] = 0; result[1] = 1; for(int i=2;i<=n;i++){ result[i] = result[i-1] + result[i-2]; } return result[n]; } 与之类似的还有:跳台阶问题:每次只能跳一个或者两个台阶,跳到n层台阶上有几种方法 填充长方体问题:将一个2*1的长方体填充到2*n的长方体中,有多少种方法 2、数组最大不连递增子序列 arr...阅读全文

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

译:Kubernetes 最佳实践

。Azure Monitor 等日志聚合工具可用于将日志从 AKS 发送到日志分析工作区,以便将来使用 Kusto 查询进行审讯。在 AWS Cloudwatch 上可以使用。第三方工具还提供更深入的监控功能,例如 Dynatrace 和 Datadog。最后,应该为日志设置一个保留期,通常为 30-45 天左右。使用版本控制系统K8s 配置文件应该在版本控制系统 (VCS) 中进行管理。这带来了很多好处,包括提高安全性、启用更改的审计跟踪,并将提高集群的稳定性。应为所做的任何更改设置审批,以便团队可以在将更改提交到主分支之前对其进行评审。使用基于Git的工作流程(GitOps)K8s 的成功部署需要考虑团队使用的工作流程。使用基于 git 的工作流可以通过使用 CI/CD(持集成 / 持交付)管...阅读全文

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

Git 介绍与使用详解

+ 分支// 回退到其他分支 git reset --hard origin 分支// 回退到远程分支 记住,在 Git 中任何 已提交的 东西几乎总是可以恢复的。 然而,任何你未提交的东西丢失后很可能再也找不到了,所以,经常commit、经常push 4.Git 分支管理(branch) 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继工作 4.1本地分支 git branch 分支名 //创建分支 git checkout 分支名 //切换分支命令 git merge 分支名 //将其他分支合并到当前分支,合并后注意解决冲突 git branch //列出你在本地的分支 git branch -a //列出你在本地和远程的分支 git branch -d 分支名 //删除...阅读全文

博文 2017-02-25 09:00:27 程序员

Debian 向左:或将迎来根本性改革 - OSCHINA

聚会时的感受,他表示这次聚会讨论的主题和几年前基本一样,这使得他开始反思自己是否仍适合留在 Debian 继参与维护。 除此之外,Stapelberg 还在博客中抱怨了 Debian 糟糕的开发流程,认为 Debian 整个开发评估流程都非常迟钝,比如:补丁的评估没有截止日期,有时候他会收到通知说几年前递交的补丁现在合并了。 事不过三,这些开发者的离开足以警醒 Debian 内部。 02 改变 2021年9月28日,Debian 技术委员会(Technical Committee)资深成员 Russ Allbery 站了出来: 我认为(社区的)章程建立在了一个错误的基础之上,它太过于追求“控制想法”(minds of the governed),而章程应该关注的是“流程性细节...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

深入理解Golang之context

context是Go并发编程中常用到一种编程模式。本文将从为什么需要context,深入了解context的实现原理,以了解如何使用context。 作者:Turling_hu 来源: 掘金 原文链接: https://juejin.im/post/5e52688c51882549417fc671前言这篇文章将介绍Golang并发编程中常用到一种编程模式:context。本文将从为什么需要context出发,深入了解context的实现原理,以及了解如何使用context。为什么需要context在并发程序中,由于超时、取消操作或者一些异常情况,往往需要进行抢占操作或者中断后操作。熟悉channel的朋友应该都见过使用done channel来处理此类问题。比如以下这个例子:func...阅读全文

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

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

确保它在每一点都得到执行。这听起来像是常识。但与技术中的许多新想法一样,理解零信任的最佳方法是了解它的反应。零信任摒弃了边界安全的观点。在边界安全模型中,在敏感组件周围实施“装甲”。例如,数据中心周围可能有一个防火墙,其任务是阻止问题流量和参与者进入。这种模型,有时被称为城堡策略,具有直观的意义:城堡的墙壁是为了将坏人拒之门外。如果你在城堡里,那么根据定义,你就是一个好人。零信任模型表明,边界安全已经不足。根据零信任原则,即使在安全边界内,仍必须将用户、系统和网络流量视为不受信任。国防部的参考架构很好地总结了这一点:“在安全边界之外或之内运行的任何参与者、系统、网络或服务都是不可信的。相反,我们必须验证任何试图建立访问权限的事物。从边界验证一次到对每个用户、设备、应用程序和交易的持验证,这...阅读全文

influxdb内存消耗分析及性能优化【探索篇】

influxdb中数据库名 use iot_cloud #修改保留策略为周期为3天,每2小时一分片 alter retention policy rp_iot_cloud on iot_cloud duration 3d REPLICATION 1 SHARD DURATION 2h default调整为2小时一分片之后,SHR内存峰值会减少10-15g左右的占用。但是缩短分片间隔之后,influxdb会更频繁的进行内部自检及数据压缩,会造成cpu及磁盘io的消耗。所以继考虑SHR占用较大对系统会有什么影响?应用程序在启动之后,会共享系统一些内存:堆内存(共享函数库消耗的堆空间)文件缓存(从磁盘读取文件进行缓存)对于共享堆内存则是必须占用的物理空间,而文件缓存则是系统针对磁盘读取的优化。目前...阅读全文

博文 2021-10-27 16:06:30 知乎

一位五年工作经验架构师的感悟

title 就很牛 B 的,人外有人,天外有天,做好自己。五年陈留给自己的话:不忘初心,方得始终,未来已来,星辰大海。路就在前方,继前行。 每个人的成长之路也不一样,我来回想下自己的。 不为过去蹉跎,珍惜当下 很多在菜鸟的时候,肯定或多或少,有过对身边的牛人,报以羡慕的眼光。 当看着别人职位比你高, 当看着别人比你工资领的高, 当看到别人年纪轻轻,就已经是牛逼哄哄。 你会不会有羡慕嫉妒恨的想法: 要是我当年读书的时候,不打游戏,少吃点红瓶、蓝瓶,少放几个水元素,少放几个暴风之锤(寒冰王座)。那么我肯定可以学到更多。 要是我当年不睡懒觉,起早贪黑,去学**,那么我肯定是也会学到很多。 要是。。。 理由从来不嫌多,我自己肯定也有这些想法,平心而论,我现在也有这些想法。但是负能量不能盖过正能量。 不要为...阅读全文

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

协议介绍之深入了解 gRPC

选择。 如果大家对解析 HTTP/1.x 很感兴趣,可以研究下 http-parser,一个非常高效小巧的 C library,见过不少框架都是集成了这个库来处理 HTTP/1.x 的。 Request/Response HTTP/1.x 另一个问题就在于它的交互模式,一个连接每次只能一问一答,也就是client 发送了 request 之后,必须等到 response,才能继发送下一次请求。 这套机制是非常简单,但会造成网络连接利用率不高。如果需要同时进行大量的交互,client 需要跟 server 建立多条连接,但连接的建立也是有开销的,所以为了性能,通常这些连接都是长连接一直保活的,虽然对于 server 来说同时处理百万连接也没啥太大的挑战,但终归效率不高。 Push 用...阅读全文

博文 2017-06-22 11:08:48 debian.cn

Sam Altman的成功学|OneFlow

,成功人士中不乏名声不佳的,而且有些还往往强调自己的成功是由于拥有某些品质和才能,甚至刻意掩饰时代和机遇的影响。Sam Altman取得了巨大的成就,但会谦逊地告诉你“深深意识到的一个事实”:他能有今天是因为运气好。 愿你也有好运。如果没有,至少可以从Sam Altman这类顶尖人才的思考中获得启发,以在个人职业生涯中持成长。 作者|Sam AltmanOneFlow编译|徐佳渝、杨婷 通过大量观察企业创始人,我思考了很多关于赚大钱或者建功立业的想法。通常,人们最开始一心只想赚钱,但最后会想有所成就。 以下是关于如何获得非凡成功的13条看法。如果你已经取得了一定成就(取得成就的途径不限,可以通过天生优势实现,也可以通过个人努力实现),那这些思考对你来说做起来会更加容易。[1] 其中大多数想法...阅读全文

Hadoop 核心 - HDFS 分布式文件系统详解

请求第一个 block 该传输到哪些 DataNode 服务器上; NameNode 根据配置文件中指定的备份数量及机架感知原理进行文件分配, 返回可用的 DataNode 的地址如:A, B, C; Hadoop 在设计时考虑到数据的安全与高效, 数据文件默认在 HDFS 上存放三份, 存储策略为本地一份,同机架内其它某一节点上一份,不同机架的某一节点上一份。 Client 请求 3 台 DataNode 中的一台 A 上传数据(本质上是一个 RPC 调用,建立 pipeline ),A 收到请求会继调用 B,然后 B 调用 C,将整个 pipeline 建立完成, 后逐级返回 client; Client 开始往 A 上传第一个 block(先从磁盘读取数据放到一个本地内存缓存),以...阅读全文

aptitude 与 apt

示前一部分的输出结果中含有“/usr/games”的那些行。这个游戏很酷哦。说不定还有其他赛道可玩的?apt-cache search torcs我的磁盘空间不够用了。我得把apt的缓存空间清空才行。apt-get clean哦不,老妈叫我把机器上的所有游戏都删掉。但是我想把配置文件保留下来,这样待会我只要重装一下就可以继玩了。apt-get remove torcs如果我想连配置文件一块删除:apt-get remove –purge torcs额外的软件包deborphan和debfoster工具可以找出已经安装在系统上的不会被用到的软件包。提高命令行方式下的工作效率 您可以通过定义别名(alias)来提高这些命令的输入速度。例如,您可以在您的*~/.bashrc*文件中添加下列内容...阅读全文

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

社交巨人Facebook使用Linux和Btrfs的姿势

在Reddit上有人表示把42TB的普通存储(没有组RAID或者其他)全部采用Btrfs技术,通过把ext4文件系统迁移到Btrfs至少节省了5TB的存储空间。尽管已经开发了相当长时间,但是鲜有发行版把Btrfs当作默认的文件系统,目前SUSE企业版把Btrfs作为系统默认的文件系统。Linux.com日前采访了Btrfs的主要贡献者Chris Mason,通过他的讲述透露了社交巨头Facebook使用Linux内核与Btrfs文件系统的大量细节。 Chris Mason是开源文件系统项目Btrfs的主要贡献者,Mason最初在Oracle从事Btrfs的开发,后来他加入社交巨人Facebook的Linux内核技术小组继从事Btrfs文件系统的研发工作。当Facebook需要升级新内核的...阅读全文

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

分布式任务调度平台 XXL

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

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

,并且使用 nfs-client-provisioner 插件来动态创建 PVC。 执行部署 Nacos 应用 -n:指定部署的 Namespace $ kubectl apply -f nacos-deploy.yaml -n mydlqcloud 4、暴露 Nacos 对外访问 这里我们再创建一个 Service 资源,设置其类型为 NodePort 方式,提供 NodePort 端口为 30848,方便后我们对 Nacos Dashboard 进行访问。 kind: Service apiVersion: v1 metadata: name: nacos namespace: devops labels: app: nacos spec: ports: - name: server...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

利用 NAT VPS 进行流量中转

=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICEDynamicUser=trueExecStart=/usr/bin/socat TCP4-LISTEN:本机端口号,reuseaddr,fork TCP4:目标地址:目标端口号Restart=always[Install]WantedBy=multi-user.target接着,启动 socat 的 TCP 转发服务:12sudo systemctl enable socat-tcpsudo systemctl start socat-tcp如果还需要进行 UDP 转发,则继编辑一个新文件,可根据需要自行调整此文件名,本文以 socat-udp 为文件名作例:1sudo vim /etc/systemd/system/socat...阅读全文

博文 2021-03-11 21:16:11 Silearner

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

。 BlueStore支持Ceph存储的所有的完整的数据和元数据校验。 BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。 EC池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。 ceph-mgr: ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继, 但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。 ceph-mgr守护进程daemon包括基于REST的API管理。注:API仍然是实验性质的,目前有一些限制,但未来会成为API管理的基础...阅读全文

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

Golang 中的 channel 通道详解

文件是必须要做的,但关闭通道不是必须的。关闭后的通道有以下特点:对一个关闭的通道再发送值就会导致panic。对一个关闭的通道进行接收会一直获取值直到通道为空。对一个关闭的并且没有值的通道执行接收操作会得到对应类型的零值。关闭一个已经关闭的通道会导致panic。channel的种类不带缓存的channel一个基于无缓存Channels的发送操作将导致发送者goroutine阻塞,直到另一个goroutine在相同的Channels上执行接收操作,当发送的值通过Channels成功传输之后,两个goroutine可以继执行后面的语句。反之,如果接收操作先发生,那么接收者goroutine也将阻塞,直到有另一个goroutine在相同的Channels上执行发送操作。基于无缓存Channels的...阅读全文

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后的消耗资源的操作就完全没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

树莓派 9 周年:你不知道的树莓派冷知识

实验。尽管 Pis 已经是比较旧的树莓派型号,但最近 Astro Pi 项目组刚刚对它们进行了内存升级,把 32 GB SD 卡换成了 256 GB 的 microSD 卡。7.树莓派基金会希望老款的产品也能永远存在尽管 Raspberry Pi B +,Raspberry Pi 2,Raspberry Pi 3 B 和其他一些老款型号的树莓派产品已经发布了很多年,但树莓派基金会仍在继积极地制造并销售它们。树莓派官方表示不会报废(EOL)产品,因为树莓派低成本的特性,这些老款的树莓派在很多对设备性能要求并不高的工业客户中依然很受欢迎。 树莓派创始人 Upton 在 2019 年接受媒体采访时曾表示:“停产意味着产品的死亡,我们迄今为止仅停产了 5 种产品。”他说,树莓派目前停产的仅有 5...阅读全文

博文 2021-03-11 17:03:55 diablo4

运维的未来:云服务兴起,运维人员会“下岗”吗?

衡是非常必要的。 开发团队通常认为运维团队阻碍了创新或者交付。双方都应该相互理解。贬低运维团队很容易,但是更多情况下,他们只是想跟上步伐。不用非得采用每个登上 Hacker News 头条的最前沿的科技,也能创新。另一方面,现代运维组织需要意识到他们几乎永远不可能满足人们的要求了。可持的发展道路——也是传播同理心的道路——是打破孤岛,共担责任。这就是运维的未来。随着运维工作转移到云,它需要给予开发团队更多的权利和信任以重塑自身,而不是“闭关锁国”。 运维长存! 【本文转自 36氪 】...阅读全文

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

聊聊很重要的内核技术eBPF

。它使用其他输入流(例如容器运行时度量标准和Kubernetes度量标准)丰富了收集的数据,并允许连监视和检测容器,应用程序,主机和网络活动。 5:Katran Katran是一个C ++库和eBPF程序,用于构建高性能的第4层负载平衡转发平面。 Katran利用Linux内核中的XDP基础结构来提供用于快速数据包处理的内核功能。它的性能与NIC接收队列的数量成线性比例,并且使用RSS友好的封装转发到L7负载平衡器。 6:Sysdig Sysdig是提供深层系统可见性的简单工具,并具有对容器的原生支持。 其他基于eBPF技术的项目还有很多,比如kubectl-trace ,ply 等,这里不再赘述。 如何编写一个eBPF程序? 在很多情况下,不是直接使用eBPF,而是通过Cilium,bcc...阅读全文

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

“Debian 章程有毒” - OSCHINA

,DPL 代表 Debian 项目去进行关于 Debian 的演讲和演示、参加贸易展览、与其他组织和公司建立良好的关系以及处理一些法律相关问题。也就是说,他是一个形象代表和官方发言人。 在内部,DPL应该与其他 Debian 开发人员交谈,尤其是与代表交谈,以了解他们如何协助开发者的工作。此外就是一些批准预算的财务事宜。也就是一些行政事务。 在多数的公司或组织中,对外品牌和行政都不是核心业务部门,非常边缘化,这些职能常常会面临没有价值感、陷入繁杂琐事的困境。与此同时,DPL 花时间与精力并不少,却没有任何薪水回报。 这就不难理解为什么会有 DPL 不愿连任。比如,2019年那次轮空事件中接盘的 Sam Hartman,就在 2020年的竞选季中表示不再参选。 02 开发者们的“共同意志” 那么...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

分布式运行时 Dapr 知多少

了答案。 从单机到分布式,是追求更快和更高的性能,但也带来了更多的不确定性。比如,不确定计算机何时异常,不确定磁盘何时损坏,不确定网络通信的延迟,也不确定消息是否被正常消。这些不确定性构成了分布式应用的挑战,简而言之: 异构的机器与网络:稳定性问题普遍的节点故障:可靠性问题不可靠的网络:一致性问题 面对这些挑战,业界提出了诸多的分布式理论、协议,如CAP定理,BASE理论,一致性协议2PC/3PC/ZAB,来保证系统的正常运行。虽然问题貌似是有了解决方案,但是应用的复杂度升高了。应用除了需要实现业务需求,还要兼顾非业务需求,集成诸如服务发现、负载均衡、失效转移、动态扩容、数据分片、调用链路监控等分布式系统的核心功能,对应用有很强的侵入性,这就是以Spring Cloud为代表的微服务框架的...阅读全文

如何写好技术文档 — 来自十多年的文档经验总结

本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。 ## 文档的重要性 ## 高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入…… 写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错...阅读全文

博文 2021-07-30 16:15:13 joseph

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

Gentoo中文社区,一开始想法挺多,也做了点工作。不过,由于个人技术水平、能力等方面原因,现在社区基本上也没什么动静了。现在年龄越来越大,精力也有限,希望有更多新生力量加入进来,让Gentooo这个发行版在国内有更多影响力! 2.您会参与哪些线下活动? 答:我们庄里,有个活动参加就不错了,不像北上广这样的一线大城市经常有。虽然离帝都近,但一是时间紧张,二是自己掏腰包负担路,看看3K多的月薪,算了吧。。。 3.您怎么看现目前中国的开源社区,又看好哪些?能举例详细说明吗? 答:中国的开源社区和国外比,有明显的差距,但从这几年的发展来看,氛围是越来越好的。我认为目前最大的问题是:不少社区是靠核心组织者的热情来维持,缺乏一定的资金和硬件条件支持,也就是没有长久发展的机制。再加上拿来主义盛行,在一定程度上也...阅读全文

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

2017 年会是 Serverless 爆发之年吗

务(Backend-as-a-Service,BaaS),或移动后端即服务(MobileBackend-as-a-service,MBaaS)。 现在,无服务器架构是指大量依赖第三方服务 (也叫做后端即服务,即“BaaS”) 或暂存容器中运行的自定义代码 (函数即服务,即“FaaS”) 的应用程序,函数是无服务器架构中抽象语言运行时的最小单位,在这种架构中,我们并不看重运行一个函数需要多少 CPU 或 RAM 或任何其他资源,而是更看重运行函数所需的时间,我们也只为这些函数的运行时间付。无服务器架构中函数可以多种方式触发,如定期运行函数的定时器、HTTP 请求或某些相关服务中的某个事件。 Serverless 案例 以带有服务功能逻辑的传统面向客户端的三层应用为例(一个典型的电子商务应用网...阅读全文

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

在 Kubernetes 上扩展 TensorFlow 模型

由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的并行处理算法,例如异步训练和 allreduce 式训练,需要一个分布式集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深度学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花大量时间。由于更多用户访问模型的端点,为了有效地处理客户端请求,需要更多服务实例...阅读全文