InfraPub 为您找到相关结果 266

开源简史基础:Linux基金会

在当前以容器化和微服务推动的技术中,需要了解的一个重要组织就是Linux基金会,在全世界范围内,Linux基金会通过提供开放源码所需要的统一资源和服务,从而促进和保护Linux的发展,推动Linux的标准化。 2000年,开源发展实验室OSDL(Open Source Development Labs)作为一个全球性的非盈利组织正式创立以促进Linux企业级计算的发展2007年1月22日,另外一个致力于推动GPL的全球性的非盈利组织,自由标准组织FSG(Free Standards Group)和OSDL联合成立了Linux基金会。 Linux基金会是做什么的 拉赞助 Linux基金会致力于围绕开源创建可持的生态系统,从而加速技术的发展和商业化的推进。而实现这一主要目的的方式之一就是为...阅读全文

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

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

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

遍历,O(n)的轮询时间复杂度。 poll模型 考虑到select模型的几个限制,后来进行了改进,这也就是poll模型,既然是select模型的改进版,那么肯定有其亮眼的地方,一起来看看吧。当然,这次我们依旧是先翻阅linux man二类文档,因为这是官方的文档,对其有着最为精准的定义。 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 其实,从运行机制上说来,poll所做的功能和select是基本上一样的,都是等待并检测一组文件描述符就绪,然后在进行后的IO处理工作。只不过不同的是,select中,采用的是bitmap结构,长度限定在1024位的文件描述符表,而poll模型则采用的是pollfd结构的数组fds,也正是由于...阅读全文

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

Web前端知识体系精简

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

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

深入学习golang — channel

) { // Start handlers for i := 0; i < MaxOutstanding; i++ { go handle(clientRequests) } <-quit // Wait to be told to exit. } 开始就启动固定数量的handle goroutine,每个goroutine都直接从channel中读取请求。这种写法比较简单,但是不知道有没有“惊群”问题?有待后分析goroutine的实现。 5. 传递channel的channel channel作为go语言的一种原生类型,自然可以通过channel进行传递。通过channel传递channel,可以非常简单优美的解决一些实际中的问题。 在上一节中,我们主goroutine通过channel将请求传递给工作...阅读全文

博文 2021-01-25 12:39:17 博客园

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

用。 学校机房(从 U盘 和 DVD 启动)使用 任何可以(从 U盘 和 DVD )启动使用的计算机上。 安装向导: 如何在你的硬盘驱动器上安装 Kodachi Linux: 从你的 USB 或 ISO 映像引导。 在桌面菜单上进入 – >系统 – > Refracta 安装程序 – >使用 su – >输入密码 r@@t00 – >简单安装 – >运行 GParted – >设备 – >创建分区表 – >应用 – >分区 – >新建 – >添加 – >应用所有操作 – >关闭 – >关闭 GParted 窗口 – >选择分区 – >确定 – >继安装 – >关闭窗口 – > y – >配置主机及用户名!不要在这里更改用户名,否则 Kodachi 脚本会出现错误 – >勾选前 2 个框允许...阅读全文

博文 2021-01-28 17:50:19 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

本田 40GB 数据险遭泄漏 因云端数据库未设密

拍摄的截图(Justin Paine 在博客中展示了一些处理过的图片)。我们将根据相关法律法规采取适当行动,并将继采取积极主动的安全措施,以防止今后发生类似事件。” ElasticSearch 安全事故频发 虽然 ElasticSearch 通常在公司内部运行,但近年因为其未加密而发生的数据泄露事件不在少数: 2017 年,白帽汇曾对全球使用 ElasticSearch 引擎发生的勒索事件进行监测,最终发现因被攻击而删除的数据至少 500 亿条,被删除数据规模至少 450TB。系统显示,互联网上公开可访问的 ElasticSearch 服务器超过 68000 余台,受害总数达 9750 台。其中,美国 4380 台,中国第二为 944 台,其余来自法国、爱尔兰和新加坡等地。此次事件后,1...阅读全文

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

在树莓派上搭建 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

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

解决方案的可扩展性时,我们也从中受益,也可以扩大规模。“解决现实问题2012 年左右,CERN 正在研究如何为大型强子对撞机扩展计算能力,但难点是人员而不是技术。CERN 雇用的员工人数是固定的。“我们必须找到一种方法来扩展计算能力,而不需要大量额外的人来管理。”Bell 说,“OpenStack 为我们提供了一个自动的 API 驱动和软件定义的基础架构。”OpenStack 还帮助 CERN 检查与服务交付相关的问题,然后使其自动化,而无需增加员工。“我们目前在日内瓦和布达佩斯的两个数据中心运行大约 280000 个处理器核心和 7000 台服务器。我们正在使用软件定义的基础架构使一切自动化,这使我们能够在保持员工数量不变的同时继添加更多的服务器。“Bell 说。随着时间的推移,CERN...阅读全文

博文 2021-11-29 13:20:55 腾讯云

改善 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

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

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

发行版)。该版本引入了一系列新功能,包括对多平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享代码,以及多项对语言方面的改进 —— 包括支持在注释中使用数组字面量。更多关于 1.2 版本新功能的内容,点此查看。 此外,值得关注的就是协程这个特性了。虽然协程仍然被标记为实验性状态,但官方特意说明了这里“实验性”代表的含义。官方表示协程已经完全准备好用于生产环境,他们也已使用协程进行开发,而且也没发现在使用当中出现任何重大问题。之所以仍保持实验性状态,是为了能够对 Kotlin 继进行设计迭代。根据目前的计划,Kotlin 1.3 将会删除协程的实验性状态。 Kotlin/Native 对 iOS 开发的支持 另外一个重大消息就是 Kotlin...阅读全文

博文 2017-11-05 19:28:14 debian.cn

CentOS停止维护后,我们应该用什么操作系统?

、家庭路由器以及大量单板计算机(SBC)。大量的软件包Debian 拥有大量的软件包(当前的稳定版本:59000 个软件包) ,使用 deb 格式。不同的发布版本除了我们的稳定版本外,您还可以通过安装测试版或不稳定版本来获得更新版本的软件。公开的错误跟踪系统我们的 Debian 错误跟踪系统(BTS)向所有人公开,任何人都可通过浏览器访问。我们不会隐藏我们的软件错误,您可以轻松提交新的错误报告或参与讨论。Debian 政策和开发人员工具Debian 提供高质量的软件包。欲了解我们的质量标准,请阅读我们的政策,它规定了每个被发行版接受的软件包所必须满足的技术需求。我们的持集成策略包括 Autopkgtest(对软件包进行测试),Piuparts(测试安装、升级和删除),以及 Lintian(检...阅读全文

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

。 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博客

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

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

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

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

。而且,它在 BSON 中是“deprecated”,会转换成$null,这并不是一个总令人满意的解决方案。 在 MongoDB 中,要避免使用“undefined”。 使用$limit() 而未用$sort() 通常,当你在 MongoDB 中开发时,仅仅查看查询或聚合返回的结果的样例会很有用。 $limit() 就是为了满足这个要求,但是,它永远不应该出现在最终版本的代码中,除非你首先使用了$sort。这是因为,不这样的话,你就无法保证结果的顺序,你就无法可靠地“按页浏览”数据。为了确保可靠性,查询或聚合必须是“确定的”,就是说,它们每次执行都会给出相同的结果。包含$limit 而不包含$sort 的代码不是确定的,后会导致难以跟踪的 Bug。 小结 对于 MongoDB,让你最终感到失...阅读全文

Apache Kafka发布 3.0 正式版

费者和管理客户端KIP-630:Kafka Raft 快照我们在 3.0 中引入的一个主要功能是 KRaft 控制器和 KRaft 代理能够为名为 __cluster_metadata 的元数据主题分区生成、复制和加载快照。Kafka 集群使用此主题来存储和复制有关集群的元数据信息,如代理配置、主题分区分配、领导等。随着此状态的增长,Kafka Raft Snapshot 提供了一种有效的方式来存储、加载和复制此信息.KIP-746:修改 KRaft 元数据记录自第一版 Kafka Raft 控制器以来的经验和持开发表明,需要修改一些元数据记录类型,当 Kafka 被配置为在没有 ZooKeeper (ZK) 的情况下运行时使用这些记录类型。KIP-730:KRaft 模式下的生产者 ID...阅读全文

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

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 中文开源技术交流社区

译: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

Kafka生产问题总结以及性能优化

都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息发送端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继发送下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继发...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

深入理解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 知乎

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 知乎

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

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

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 程序员

协议介绍之深入了解 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

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

的调用链路通常复杂多变,站在流量角度上看,需要完整地知道它的来源,上下游链路,异步调用等等,这对于 CAT 来说可能略显超纲。 缺少图表定制化能力: CAT 虽供多维度报表分析,但定制化能力非常有限,在当时,业内的图表组件定制化解决方案逐步向 Grafana + Prometheus 靠拢,但若使用 CAT,则无法享受强大的图表绘制能力。与此同时,随着云原生社区可观测性项目 OpenTracing 的崛起,大约不到半年时间我们逐步下线了 CAT,向 OpenTracing 生态演进。 三、 0x02 第二阶段 持创造 基于OpenTracing全链路采样监控 OpenTracing 为全链路追踪 Trace 定制了完整的一套协议标准,本身并不提供实现细节。在 OpenTracing 协议中...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

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(先从磁盘读取数据放到一个本地内存缓存),以...阅读全文

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

是运营成本并不高,他认为S3是亚马逊的一头现金牛。他提到,如果S3的毛利润率低于70%,他会感到很惊讶。不过,前述科技业人士苏里则预测,S3毛利润率在50%左右。目前,客户把数据迁移到S3是免费的。不过,要从亚马逊搬走1TB的数据,费用比每月存储费多出三倍。作为对比,Wasabi公司目前对数据迁移免费,弗雷德表示,这样的收费项目会让AWS业绩难以预测,另外,高昂的外迁费也促使企业继成为亚马逊云计算的忠实客户。弗雷德表示,几乎所有企业都清楚自己有多少数据,但是他们不了解实际访问这些数据的频率。他提到Wasabi的一家客户把数据从亚马逊搬迁到Wasabi,一共花费了600万美元。许多亚马逊云计算客户还选择了“弹性块存储”服务(EBS),这一服务和EC2计算实例绑定,可用于存储相关数据。另外,即...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

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

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

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

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

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

Debian 9.3上安装和配置 Observium 监控平台

应用所有更新: reboot 重新启动后,使用root用户登录并通过运行以下命令将一些必需的软件包安装到您的系统中: apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y 一旦安装了所有必需的软件包,就可以继下一步。 安装LAMP服务器 Observium运行在Apache上,用PHP语言编写,并使用MySQL作为数据库。 所以你需要在你的系统上安装LAMP服务器。 首先,运行以下命令来安装Apache Web服务器: apt-get install apache2 libapache2-mod-php7.0 -y 安装...阅读全文

博文 2017-12-30 11:35:21 debian.cn

分布式任务调度平台 XXL

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

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

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

近日,百度两年前的一桩诉讼案终于有了答案。中国裁判文书网显示,百度运维员工“安某”从 2018 年1 月底到 5 月底,以技术手段在公司服务器上部署“挖矿”程序,非法控制 150 余台服务器以获取比特币、门罗币等虚拟货币,共获利人民币 10 万余元。 事发后,“安某”不仅被没收了所有获利金额,罚款 11000 元,还背上了三年牢饭,有点惨。 4 个月,占用 155 台服务器,获利 10 万余元。 2017 年“安某”正式入职百度,彼时,比特币的价格飙升到了近 2 万美元,按照当时的汇率,一枚比特币人民币价格将近 13 万。虽然后的币价有所降低,但挖到一枚,还可以挣几万块,这样的诱惑或许没有几个人会选择无视。 2018 年初,“安某”开始打起了挖矿的主意。 挖矿,是指利用服务器CPU的运算...阅读全文

博文 2020-03-17 20:42:41 debian.cn

Debian 10.8 发布:包括多项安全更新和错误修复

-11) | 新的上游稳定版;安全修复[CVE-2020-25694 CVE-2020-25695 CVE-2020-25696] | | [postsrsd](https://packages.debian.org/src:postsrsd) | 确保时间戳标签在尝试解码之前不会太长[CVE-2020-35573] | | [python-bottle](https://packages.debian.org/src:python-bottle) | 停止允许;作为查询字符串分隔符[CVE-2020-28473] | | [python-certbot](https://packages.debian.org/src:python-certbot) | 自动使用ACMEv2 API进行费,以...阅读全文

博文 2021-02-07 10:57:22 joseph

Golang 中的 channel 通道详解

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

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

Golang Context 探究

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

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

隐私声明

我们会时常更新本隐私权声明,以反映我们的操作实践、相关服务和法律法规的变化。我们会在修订本隐私权声明时更新文首所载的“生效日期”,请您定期查阅。您继使用本网站,即视为您同意本隐私权声明的更新。 8. 问题与投诉 如果您对本隐私权声明或个人信息保护有任何问题,请与我们联系,我们会尽最大努力在合理时间内回复您。...阅读全文

利用 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

聊聊很重要的内核技术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

树莓派 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

提问的智慧 – 全文

,这也可以让你更好地表述出你的问题。 不要像机关枪似的一次性「扫射」所有的帮助通道,这样的行为像泼妇骂街一样令人抓狂,要有重点地一步一步来。 要搞清楚你提问的主题是什么!最典型的错误就是跑去苹果的论坛问关于Unix或Windows的问题,如果你不明白,最好在搞清楚概念,否则什么也别问。 一般来说,在公共论坛中提问比在封闭论坛中提问更容易得到有用的回答。选择依据:一是评估潜在的回复数较多,二是估算论坛的活跃度较高,相比之下,黑客更喜欢回答那些能启发多数人的问题。 同时,你可以理解,一些经验丰富的黑客和流行软件的作者正在承受过多的非议,因为涌入其私人邮箱的垃圾邮件变得越来越多,他们实在无法忍受,同时,你的加入有可能使情况更加恶劣,就像那根最后压垮骆驼背的稻草一样,所以,一些流行软件的作者正陆停止...阅读全文

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

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

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

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