Debian瞻前 微软顾后:安全改进是否会产生负面影响
Server 2008里添加TLS1.1和TLS1.2支持到底是好是坏还真不好说。让我们静观其变吧!...阅读全文
Server 2008里添加TLS1.1和TLS1.2支持到底是好是坏还真不好说。让我们静观其变吧!...阅读全文
冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。 在Free命令中显示的buffer和cache,它们都是占用内存: buffer : 作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区。 cache: 作为page cache的内存, 文件系统的cache,是memory的缓冲区 如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小。...阅读全文
冲突,可以通过手动来解决,但如果冲突数量众多,解决冲突可能会变成一件很麻烦的事情。 因此,Yarn 提供了自动合并 yarn.lock 文件的功能以解决冲突的问题。通过运行 yarn install 命令可以触发合并,如果合并成功,新的无冲突 yarn.lock 文件会被保存到磁盘上。 未来计划 Facebook 表示未来的 Yarn 将要实现下面这些目标: 使用 Yarn 发布包:发布新包通常需要创建正确的更新日志、执行正确的语义版本控制、同步相关项目的版本,还需要频繁地手动或通过脚本来完成其他很多步骤。如果 Yarn 能够为包发布者完成这些事情岂不是更好? 包的安全性:在添加新软件包或升级旧的包时,包的安全性也是一个很重要的需要考虑的因素。Yarn 将会与 npm 合作,将双因子认证带到...阅读全文
SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 10月25日,SciPy 团队成员 Ralf Gommers 在 Python 官方邮件组发文宣布 SciPy 1.0 终于发布了。 Ralf 称,很高兴宣布 SciPy 1.0 的发布,自从 0.1 版面世 16 年后,1.0 版姗姗来迟。这是一次漫长而富有成效的旅程,期待在未来有更多令人激动的特性。 为什么现在才发布 1.0 版呢? Ralf 认为版本号应当体现出项目的成熟程度,SciPy 是一个成熟且稳定的库,已经在生产环境长期大量使用很久了。从这个角度来说,1.0 版来晚了。 最...阅读全文
时隔近一年半的时间,网易云音乐 Linux 版本终于迎来了更新,本次更新除了迁移到QCEF框架,对GNOME、KDE桌面环境支持更好,支持最新 Debian 9、Ubuntu 17.10版本(仅64位),还优化和修复各个社区用户反馈的问题。 具体的细节优化如下: 迁移全新的QCEF框架; 使用了全新的播放器后端; 支持打开更多格式的本地文件; 优化播放时内存占用资源问题; 优化扫描本地音乐目录,支持读取下载任务的状态; 优化第三方字体的支持; 优化淡入淡出效果和在线播放; 优化更好的支持Wayland环境; 移除了沙盒机制; 修复部分本地音乐播放存在卡顿的问题; 修复Tooltip位置偏移的问题; 修复在Qt 5.9中界面乱码的问题; 修复GPU加速选项无效的问题; 修复无法捕获本地目录变...阅读全文
GitHub的高级技术副总裁Jason Warner在2018的技术趋势中挑出了数据、工作流集成(workflow integration)以及开源工具,他认为这些是一个公司在2018年能够取得成功的关键。 Warner写道,数据将成为2018年全球增长的最重要因素: 现如今,所有的公司都是数据公司,不论他们是否意识到这个情况。在2018年,只要团队知道如何使用数据,数据就会成为他们最大的资产。 数据的重要性日益增长,也标志着云服务平台从分布式云计算平台转型成为数据处理的云平台,其中还包括数据分析和机器学习。这将重点反映到三个关键领域: Warner说,许多重要的系统目前都很脆弱,尽管它们的规模越来越大。为了应对在2018年变得更加频繁的攻击,将会有更多的财力和开发资源分配到改进安全性上...阅读全文
为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。 方法 1:伪安装 在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。 具体来说就是,在文件夹 /etc/modprobe.d 中创建并打开一个名为...阅读全文
下载到 ~/local/go 目录。此时我们需要设置环境变量 - 设置 GOROOT 和 GOPATH 目录到系统环境,这样,我们就可以在 git 用户下执行 go 命令。执行以下命令。 cd ~/ echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc 随后重新登录使配置生效,或者直接运行 source ~/.bashrc 重载 Bash, . ~/.bashrc 现在运行 go 的版本查看命令。 go version...阅读全文
这一年来有关国内公司进军内存产业的消息甚嚣尘上,紫光公司凭借原有的英飞凌、奇梦达基础在DDR3内存上已经作出了突破,小批量生产了DDR3内存,下半年还会推出更主流的DDR4内存芯片,正在努力追赶国际主流水平。但是放眼整个内存市场,DDR5内存很快就要来了,更可怕的是未来即便是DDR5内存也很可能被更新的技术淘汰。 业界已经有人提出了DDR内存将死的看法,未来需要高带宽的产品将转向HBM内存,2020年会有HBM 3内存,2024年则会有HBM 4内存,届时带宽可达8TB/s,单插槽容量可达512GB。 对于HBM内存,DIY玩家可以说也是相当熟悉了,AMD在2015年的Fury系列显卡上首次商用第一代HBM技术,超高的带宽、超低的面积占用彻底改变了当时的显卡设计,随后NVIDIA在...阅读全文
干嘛的?“如果把腾讯比作一个工厂,那么数据中心就是车间,信息需要在这里集中处理、存储、交换。”腾讯技术工程事业群任职数据中心技术总监朱华说。 那个名叫T-block的技术,是腾讯数据中心自主研发的第四代技术。 腾讯数据中心的技术发展,总共经历四个阶段: 第一代(2006-2009),基本是沿用了传统电信机房的解决方案(厂房改造,风冷,N+1冗余),只在局部做了点优化,比如冷热通道隔离; 第二代(2007-2011),从天津开启数据中心的大而全模式,10万量级、大型离心冷水机组、10KV Switch Gear、变压器上楼、中压油机、UPS、STS、AHU、MAU、封闭热通道、预作用水消防、水侧Free cooling、Air side economizer; 第三代TMDC(2011...阅读全文
“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文
SQL审核是保证数据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上数据事故概率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础,提供了相对完善的 API 接口,结合一些外层的操作界面,可以实现SQL审核、执行、备份和恢复功能,为DBA操作利器。本文详细介绍如何配置 Inception 和 Yearning 的整合。 Inception Inception是一个自动化运维工具,在Mysql前做一个审核和操作的屏障。跟Inception的交互是程序级别的,即通过Python或其他程序编程实现对Inception的命令调用,并解析结果。 Inception的文档地址:http://mysql-inception.github.io/inception...阅读全文
GitHub 刚刚通过官方博客发布了 21 日“挂掉”的事件分析。GitHub 指出此次事件发生的原因是在 10 月 21 日 22:52 UTC 进行日常维护——更换发生故障的 100G 光学设备时导致美国东海岸网络中心与美国东海岸数据中心之间的连接断开。 更具体地,GitHub 分析,虽然两地的连接在 43 秒内恢复,但这次短暂的中断引发了一系列事件,这才导致了长达 24 小时 11 分钟的服务降级。 为了大规模提高性能,GitHub 的应用程序将直接写入每个群集的相关主数据库,但在绝大多数情况下将读取请求委派给副本服务器的子集。GitHub 使用 Orchestrator 来管理 MySQL 集群拓扑并处理自动故障转移,Orchestrator 在此过程中考虑了许多变量,并在...阅读全文
在集群化环境里,日志采集是重要基础设施。本文结合最新的 1.0.9 版,对 logpipe 做一个简单的介绍。开源主流解决方案是基于 flume-ng,但在实际使用中发现 flume-ng 存在诸多问题。 比如 flume-ng 的 spoolDir 采集器只能对文件名转档后的大小不能变化的最终日志文件进行采集,不能满足采集时效性要求,如果要采集正在被不断追加的日志文件,只能用 exec 采集器搭配 tail -F 命令,但 tail -F 命令又不能通配目标目录中将来新增的未知文件名。其它解决方案如 logstash 由于是 JAVA 开发,内存占用和性能都不能达到最优。 作为一个日志采集的本地代理,内存占用应该小而受控,性能应该高效,耗费 CPU 低对应用影响尽可能小,要能异步实时追踪...阅读全文
言,框架建立在不断增长的世界级攻击性内容库的框架基础上。另外,此次更新还包括了可用性改进和大规模开发的支持,数据库和自动化 API 的改进等。 在 4.x 现有的 Postgresql 数据库后端之上,Metasploit 5.0 增加了将数据库本身作为 RESTful 服务运行的功能,使用该服务可以与多个 Metasploit 控制台甚至外部工具进行交互。5.0 版本的这个变更还将取消数据库服务的一些批量操作,从而通过并行处理数据库和常规 msfconsole 操作来提高性能。 新的发布周期 过去的一年,Metasploit 的开发包括两个分支:一个是 4.x 的稳定分支,支持 Metasploit Pro 和像 Kali Linux、ParrotSec Linux、和 Rapid7 自己...阅读全文
,Client会按照这些SRV的权重分配请求。下一次向服务发起的请求可能发送到了不同的地址。在通过SRV记录的权重来分配请求的时候,使用的是本地缓存的DNS记录,所以不能实时地感知到服务的地址列表变化。除非将 TTL 设置的非常短暂,但这样将会频繁地查询DNS服务器。 Client查询服务地址的过程 rfc-2782中已经做了很好地介绍,这里就不表述了。 配置举例 下面是DNS中 master file,可以看到有 example.com 域名提供了一个名为_foobar._tcp 的服务,这个服务有两个 SRV 记录,分别指向了 sys-box.example.com:1099 和 server.example.com:1099 $ORIGIN example.com. @ SOA...阅读全文
Docker CE 19.03 和 EE 3.0 都已经发布,19.03 主要内容包括无需 root 权限、支持 GPU 的增强功能和 CLI 插件更新等等,19.03 现在是允许非 root 用户运行守护程序,启用 Rootless 模式可以防止攻击者夺取主机的 root 权限,即使 Docker 存在漏洞或设置错误。 更新内容如下: Builder 增加了内联缓存支持 –cache-from docker/engine#215允许输出配置 moby/moby#38898固定的 GCR 变通令牌缓存 docker/engine#212下载错误时调用 stopprogress docker/engine#215Buildkit 现在使用 systemd 的 resolv.conf...阅读全文
的 Manjaro 一直在致力于使 Arch Linux 变得对用户友好,随着新公司的创建,这方面的能力应该会有所提升。 Manjaro 的另一项重要举措包含在前阵子发布的 18.1 版本 “Juhraya” 中,该版本中的办公文档可以自行选择。系统中预装了 LibreOffice,但是用户可以在安装过程中选择德国软件开发商 SoftMaker 的免费 Office 套件 FreeOffice 2018,或仍然使用 LibreOffice,甚至可以跳过安装任何 Office 套件。 FreeOffice 套件面向那些重视与 Microsoft Office 无缝兼容的用户,它本身使用当前的 Microsoft 文件格式 DOCX、XLSX 和 PPTX。由于 Manjaro 社区的需求...阅读全文
Bork 文件加密软件包进行测试,在经过测试的版本中,性能基本上没有变化。 自 OpenJDK 8 以来,DaCapo 的 H2 基准被建模为类似于 JDBCbench 的内存中(in-memory)基准,其性能得到了很好的提升,与此前的版本相比,OpenJDK 14 再次以微弱的优势获得了第一名。 可以看到,基于 Python Pybench 的 Jython 基准测试也是 OpenJDK 8 拥有最佳成绩的众多案例之一。 在运行 Daytrader 基准测试的 Tradebeans 测试中,OpenJDK 14 再度以微弱的优势拿下最佳的成绩。 就像打乒乓球一样,Renaissance 的 Scala Dotty 基准测试提供了一个类似的例子,说明 OpenJDK 的性能也会上下波动。在此次测...阅读全文
,Django 软件基金会)的付费承包商 Django Fellows 合并,或者由少数活跃用户合并。Django 的所有版本现在都由 Fellows 发布。 也就是说核心 committer 团队在项目中几乎没有直接参与 Django 相关流程,并且关于 Django 开发中的几乎所有技术决策都不是在 committer 之间讨论和决定的,而是在任何人都可以参与的公共论坛上通过共识决定的。 这样的情况影响了社区中开发者的参与,也影响了 Django 项目的长期健康发展,所以社区内一直以来都在讨论改革。 Django 社区近日通过了 Django 项目新治理模型的提案 DEP 10,目前正在实施的一些变化如下: 之前的核心 committer 团队解散,相关成员的 commit 权限也将被删除。目前正在...阅读全文
的大目标是制定800Gbase-R规范(base-R表示当前媒体上的当前标准系列,base-T和base-C表示前几代)。 与以前的以太网迭代一样,许多技术将被重用和开发。800Bbase-R规范(或800gbe)需要对媒体访问控制(MAC)和物理编码子层(pc)进行新的定义。这些将从 IEEE 802.3bs 标准中 400GbE 的现有规范中重新定义,重新定义为在8条 106gbps 信道上工作。为了兼容性,规范中的其他部分(如前向错误控制)保持不变。 RobStone等技术工作组主席说:“这项工作的目的是尽可能重新利用标准的400GbE逻辑,以创建一个800GbE的MAC和PC规范,从而为实施多速率以太网端口的用户提供最低的开销成本。”...阅读全文
,无论你有多大的聪明才智,也无论你如何努力进取,总会有一个你胜任不了的职位在等待着你,并且你一定会达到那个位置。这就是著名的彼得原理。 吉尔伯特法则 吉尔伯特法则是由吉尔伯特提出的一条管理定律,指出“工作危机最确凿的信号,是没有人跟你说该怎样做。” 它告诉我们一个道理:作为下属,当有人教训和指点的时候都是福气,都意味着关心。怕就怕没有人说你什么,也没有人教你怎么做。这等于说你没人管了,游离于纪律、规章的制约之外,看似自由,其实危机四伏。 沃尔森法则 沃尔森法则是美国企业家沃尔森提出的法则。主旨为把信息和情报放在第一位,金钱就会滚滚而来。你能得到多少,往往取决于你能知道多少。 要在变幻莫测的市场竞争中立于不败之地,你就必须准确快速地获悉各种情报:市场有什么新动向?竞争对手有什么新举措?……在获得...阅读全文
Linux”。同时,这一发行版既模块化又针对现代机器进行优化。 更具体地说,Serpent 将会是一个“真正现代化的 Linux 发行版”(A Truly Modern Linux Distribution),它将采用发行优先、兼容性更高的设计决策。同时还将把过去十年左右的时间里更明智的设计改进纳入 Linux 发行版设计中: 不再拆分 usrbin整个过程均采用 100% 的 clang 编写(包括内核)musl 作为 libc,依靠编译器优化而不是内联 asmlibc++ 代替 libstdc++LLVM 的 binutils 的变种(lld、as等)混合源/二进制分发从x86_64-generic通用基线转向新的 CPU,包括针对 Intel 和 AMD 的优化程序包管理器中基于功能的订阅(硬...阅读全文
给每个节点和待分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未解释有兴趣的小伙伴可以上网查一下哦。 小结 kube-scheduler组件将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支持第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文
持,图形驱动中的异步翻页,用于缓解射频干扰的新 "RFIM "驱动,围绕Rocket Lake和Alder Lake的新设备ID,WiFi驱动内的WiFi 6GHz频段支持,以及其他工作。 在 AMD 方面,主要围绕着改进电源管理和传感器处理,CPU 帧率频率不变性支持(虽然与 Schedutil 在一些系统上处于糟糕的状态),AMD 传感器融合枢纽驱动程序终于被合并,以支持Ryzen笔记本电脑上的传感器功能,以及其他各种改进。 Linux 5.11 还为不知名的设备提供了新的硬件支持,从失败的 OUYA 游戏机到 Guitar Hero Live PS3 / Wii U 扩展坞。 改进内容如下: 处理器: - 经历了 40 多轮的代码审查之后终于整合了 Intel SGX enclaves...阅读全文
)和方法(methods)仍是私有的(private)共有的枚举(public enums), 其所有变天(variants)也同为共有(public)父模块中的元素, 不能使用子模块中的私有元素子模块中的元素, 可以使用父模块的元素use使用关键字use简化路径Paths, 类似文件系统中的'symbolic link'.一些惯常用法调用其它模块函数时, 通过use引入其所在的模块(module)use some_mod; fn main() { some_mod::some_fn(); } 调用其它模块结构体struct, 枚举enum,通过全路径引入,use std::collections::HashMap; fn main() { let mut map = HashMap::new...阅读全文
activate脚本将虚拟环境激活: source venv/bin/activate 激活后,虚拟环境的bin目录将添加到系统$PATH变量的开头。Shell 提示符也将会带上相应的提示信息,会显示您当前所在的虚拟环境的名称。在此示例中,即(venv)。 TensorFlow安装需要pip版本19或更高版本。运行以下命令以升级pip到最新版本: pip install --upgrade pip 3、安装TensorFlow 现在我们已经成功创建了虚拟环境,下一步是安装TensorFlow软件包。 可以从 PyPI 安装多个 TensorFlow 软件包。该tensorflow软件包仅支持CPU,建议初学者使用。如果您拥有具有CUDA计算功能3.5或更高版本的专用NVIDIA GPU,并希望利用其处理能...阅读全文
负责任的选项。 在每个操作系统使用周期内,谷歌还面临软件包重大版本升级的挑战,因为这可能需要对软件配置进行重大改变。为了让这个过程自动化,谷歌工程师编写了一个无人值守的升级工具来处理很多常见的问题。这种“自动化升级”意味着大多数谷歌员工无需通过重新安装机器,并重新创建所有配置来手动升级。不过为了实现这一点,谷歌需要对升级过程进行全面测试,并检查所有已更改的主要软件包是否继续运行(在 Ubuntu 中,主要版本之间的升级可能多达数千个软件包)。有时,在发生软件包弃用且工程师必须决定如何推进的情况下,很难提供自动化。 据称,谷歌完成所有 Goobuntu 的升级通常要花费一年的时间,整个过程对于团队来说是一个巨大的压力。而且很多时候他们遇到的一些 bug 已经在上游被修复了,但这些改进却从未被合...阅读全文
2021 年每月(以及之后的双月刊)系列“ Debian 热门话题”(日文)撰写在日本组织一些当地 Debian 活动,尤其是东京。Debian 议程为贡献者和用户提供更好的 Debian “体验”。向用户提供“一些尝试”并听取他们的声音,然后在贡献者之间进行讨论。更多的基础设施变化,对 Web、Wiki、BTS、存储库等 Debian 基础架构进行更多更改。知识和技术的更新和转让,与新的贡献者讨论、转移和改进旧的知识体系。此外,Hideki Yamane 还在展示页面中警告“我可能是 DPL 有史以来最差的候选人”:不擅长英语(可以使用 Eng“r”ish ;),所以无法回答一些复杂的问题。没有任何技巧来调解贡献者之间的争吵,只有:保持冷静,保持安全。...阅读全文
id,及所在的 DataNode 服务器)。 5. DataNode 数据存储 文件的各个 block 的具体存储管理由 DataNode 节点承担。每一个 block 都可以在多个 DataNode 上。DataNode 需要定时向 NameNode 汇报自己持有的 block 信息。 存储多个副本(副本数量也可以通过参数设置 dfs.replication,默认是 3) 6. 副本机制 为了容错,文件的所有 block 都会有副本。每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。 7. 一次写入,多次读出 HDFS 是设计成适应一次写入,多次读出的场景,且不支持文件的修改。 正因为如此,HDFS 适...阅读全文
已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”) 此时,如果把问题规模降到0,即已知A0,可以得到A0->B. 如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1. 这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪心法”。 然而,Ai与Ai+1往往不是互为充要条件,随着i的增加,有价值的前提信息越来越少,我们无法仅仅通过上一个状态得到下一个状态,因此可以采用如下方案: {A1->A2}; {A1, A2->A3}; {A1,A2,A3...阅读全文
SSD来调整其默认配置。一般不需要手动调整。 原型mclock QoS排队算法已经可用。 新增一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。 OSD更换过程简化,变得更加强大了。 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。 通过ceph osd set-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。) 完成对...阅读全文
Connect 项目,这个项目的边缘设备是地地道道的物理设备,并且从硬件到软件全部是自己定制的。关于 Open Connect 的详细介绍,以及使用的技术栈可以看 Netflix 的分享,还有他们如何做 CDN 监控的。 主要功能 回到 Spinnaker,他主要管理 Netflix 的云服务,并不管理 OpenConnect 相关的设备和服务。Spinnaker 是基于云的 CD 平台,提供快速、可靠、稳定的软件变更服务。主要包含两类功能:集群管理(Cluster management)和部署管理(deployment management)。 1. 集群管理 集群管理主要用于管理云资源,Spinnaker 所说的“云”可以理解成 AWS,即主要是 IaaS 的资源,比如 OpenStack...阅读全文
起运维人员挖矿导致百度损失 2.7 万的事件,同样是运维人员在“涉险”,为什么是运维人员呢? “运维”人员在企业的价值,他们自己的调侃是:当企业没有发生技术故障的时候,大家感觉不到运维人员的存在。当企业发生故障的时候,大家感觉到运维人员确实没有存在的必要。 但调侃归调侃,这反映了技术运维人员在企业中面临的尴尬处境,但实际上,运维人员对于一家企业运营维护的保障,确实是很重要的。他们的职责包括服务器的部署、配置、维护;互联网平台的部署、升级、迁移、数据备份恢复;监控服务器,平台的运行,系统优化等,可以说,他们掌握了企业的后门,一旦运维部门发生危险,公司有可能陷入瘫痪状态,因此,一直以来,运维人员也拥有很多访问权限,而这却变成了运维人员不惜“涉险”的一个原因之一。 于是,如何对运维人员进行权限管理...阅读全文
。 输入用户名/密码: nacos/nacos ,登录 Nacos 后会看到如下页面: 六、Nacos 变量参数及其说明 Nacos 提供了很多可以配置的参数,以环境变量的方式让我们进行配置,部分参数如下所示: 参数名称 默认值 参数描述 SERVER_SERVLET_CONTEXTPATH /nacos 指定 Nacos 服务前缀。 NACOS_APPLICATION_PORT 8848 指定 Nacos 端口。 TOMCAT_ACCESSLOG_ENABLED false 是否开启访问日志。 SPRING_DATASOURCE_PLATFORM 指定数据库平台,目前只支持 mysql。 MYSQL_DATABASE_NUM 1 数据库数量。 MYSQL_SERVICE_HOST 指定数据库主...阅读全文
中最常用的方法还是 context.Background、context.TODO,这两个方法都会返回预先初始化好的私有变量 background 和 todo。这两个私有变量都是通过 new(emptyCtx) 语句初始化的,它们是指向私有结构体 context.emptyCtx 的指针。 1 2 3 4 5 6 7 func Background() Context { return background } func TODO() Context { return todo } 通过下面代码可以看出 emptyCtx 就是 Context 的实现,只不过没有实际功能。 我们一般用 context.Background 作为根 context; 在不确定使用哪种 context 时用...阅读全文
,也可以在一台不同的远程计算机上工作。 Chrony 和 NTPD 精度对比测试 我们可以从 Chrony 的官方网站上可以看到与 NTPD 各维度详细对比: 从其测试结果上看似乎是各维度性能都可以吊打 NTPD。因此 Chrony 的整体评价还是比较高的。 Chrony 相较于 NTPD 服务的优势 更快的同步只需要数分钟而非数小时时间,从而最大程度的减少时间和频率误差,这对于并非全天运行的台式计算机或系统而言非常有用。能够更好的响应时间频率的快速变化,这对于具备不稳定时钟的虚拟机或导致时钟频率反复变化的节能技术而言非常有用。在初始同步后,它并不会停止时钟,以防对需要系统时间保持单调的程序造成影响。在应对临时非对称延迟时,(例如:大规模下载造成连接饱和时)提供了更好的稳定性。无需对服务器进行...阅读全文
语言可以编译成 Wasm,有现代的、不断改进的工具链。服务器平台发展的下一步是什么?也许你已经看过 Solomon Hykes (Docker 的创始人之一) 这句话:如果在 2008 年已经有了 WASM + WASI,我们根本不需要创建 Docker。 Wasm 就有这么重要。 服务端的 WebAssembly 是计算的未来。事实上,WASM+WASI 似乎的确是服务端软件基础设施发展的下一步。最早,我们有物理硬件可以使用。 我们会给机房里每个服务器精心安装操作系统和应用程序,并一一维护。然后随着 VMware 开创的 VM 的采用,一切变得更容易了。 人们可以跨硬件机器复制、克隆和移动虚拟机。 但这仍然需要在 VM 中安装操作系统和应用程序。随后出现了由 Docker 推广的容器,这使...阅读全文
5.1 中被引入的新的功能特性和功能提升。你不需要动 JavaScript 就可以利用上这些功能特性。并非所有的浏览器都支持这些功能特性,因此你最好是在将它们应用于生产环境之前先检查一下浏览器的支持情况。 14. 预防网络钓鱼攻击 大多数使用 target='_blank' 的开发者都不了解一个事实——最新打开的标签可以改变 window.opener.location 到一些钓鱼网页。它将会在已打开的网页,以你的名义执行一些恶意 JavaScript 代码。因为用户相信已经打开的网页,他们不会起疑心。 为了彻底解决这个问题,HTML5.1 已经标准化 rel=”noopener”的使用属性,与浏览器的上下文环境分开。rel=”noopener” 允许在 和 标签之间使用...阅读全文
有一个“填充因子(padding factor)”,为文档增长提供空间。 你也许会想,你可以通过不建立数组索引来绕开这个问题。遗憾的是,没有索引,你会遇到其他问题。因为文档会从头到尾扫描,找到一个接近数组尾部的元素需要花更多的时间, 大部分处理这个文档的操作都会变慢 。 忘记聚合情况下的阶段排序 在有查询优化器的数据库系统中,你编写的查询是说明你想要什么而不是如何获取它。这就像在餐馆中点餐;你通常只需要点菜,而不必对厨师发出详细的指令。 在 MongoDB 中,你是对厨师发指令。例如,你需要通过$match 和$project 确保管道中的数据尽早减少,排序只在数据减少时发生一次,查找按照你希望的顺序执行。查询优化器省去了不必要的工作,优化阶段顺序,选择连接类型,这会把你宠坏。MongoDB...阅读全文
前言 Git是目前非常流行的协同开发工具,很多开源网站都使用Git作为代码管理仓库(例如 开源中国,GitHub),不管是开发还是产品、设计师,Git都很适合,而且很多IDE默认集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文
开始写入数据之后,在4h+10m之后,会对上个分片进行全量压缩策略 #应用: 本文设置为80小时。目的是不进行full压缩策略,来避免io过多消耗,后面会介绍由于设置的retention policy为72小时,所以此处大于72即可。 compact-full-write-cold-duration = "80h" #描述: 最大并行压缩数,默认会使用golang的逻辑处理器的一半 #场景: 当进行level1,level2,level3及full策略压缩文件时使用的处理器数量, #当前服务器为16core32物理线程,则会在压缩时默认使用16个处理器 #应用: 本文设置为8。用于减轻压缩策略时,cpu与磁盘io的压力,但相应的会导致压缩周期变长。 max-concurrent...阅读全文
libgraph 的参照对象。因为 VPP 项目整体是一个非常全面的解决方案,从中剥离核心的设计框架为其它轻量级项目所用就变得很有意义。这也是 Libgraph 的产生背景。虽然它目前还是DPDK 中相对比较新的 lib,但是其优秀的设计思想还是值得学习参考。 下面将首先介绍 libgraph 架构的核心概念:标量和向量包处理(scalar vs vector packet processing)以及它们之间的区别。然后再介绍 libgraph 中的核心组件,以及它们之间的联系和交互方式。最后,我们将介绍 libgraph 的具体用例以及优缺点。 背景 DPDK libgraph 是一个向量包处理的框架。与传统的标量包处理模型(一系列函数负责处理一个数据包,重复直到所有数据包处理完毕)相比,向量数据包处理...阅读全文
的选项,参与投票。 与此同时,Debian 采取 Condorcet 方法(也就是孔多塞标准)来进行投票,这种投票方式需要“两两对决”来选出赢得多数选票的一方,而不是在众多候选人中一次性投票,再去挑出票数最多的。 总的来说,给予个人开发者最大程度的权限,以谋求最大程度上群体的“共同意志”,是一件政治正确的事。但是,最大程度的“同意”真的存在吗?Joey Hess 表示,这是不存在的,总是会有人不高兴。 此外,Debian 最大限度保持个体自由的同时,也使得个体显得个性十足、难以妥协;一旦缺乏强大的聚合力将他们拢在一起,就会出现“分裂”的情况。 “如果有人坚持拒绝合作,那么你做出的变更很容易就会被一拖再拖。我举一个典型的例子: rsync,其维护者完全出于个人的喜好拒绝我的补丁包使用...阅读全文
)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建监控仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文
读取。用户态进程读取这些数据后,进一步关联 Kubernetes 元数据后推送到存储端。这是整体处理过程。eBPF 的超能力体现在能订阅各种内核事件,如文件读写、网络流量等,运行在 Kubernetes 中的容器或者 Pod 里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点,这也是我们为什么选择 eBPF 的原因。另一个在内核上做监测的好处是应用不需要变更,也不需要重新编译内核,做到了真正意义上的无侵入。当集群里有几十上百个应用的时候,无侵入的解决方案会帮上大忙。但作为新技术,人们对 eBPF 也存在些许担忧,比如安全性与探针性能。为了充分保证内核运行时的安全性,eBPF 代码进行了诸多限制,如最大堆栈空间当前为 512、最...阅读全文
-E以及近期火出科技圈的ChatGPT。 无论是个人才智和财富,还是远见和野心,Sam Altman显然是标杆性的“成功人士”。 在离任YC总裁的那一年,曾与无数创业者和技术人才交流过的Sam Altman发表了一篇博客,总结了他眼中获得成功所要具备的13个特质,如果你渴求成功,或者至少希望自己变得优秀,这篇博客对你的个人成长将有所启发。如果你恰好在职业生涯早期就看过,无疑是一种幸运。 不同于热衷分享虚头巴脑的鸡汤式成功学的成功人士,Sam Altman给出的这篇“成功学”建议具有可执行性,最显著且可贵的一个特点是——不装。 注意,Sam Altman这篇文章的原标题是“how to be successful(如何取得成功)”,但这13条特质并不是一个人必然取得成功的充分或必要条件。 要知道...阅读全文
三字段,指示包的「版本类型」,姑且称为「仓库」。 打开某源,进入「dists」子目录可见该源中有哪些仓库,即其下诸子目录。 命名形式为「系统发行版名-仓库名」,如 Debian 的「jessie-backports」「stretch-updates」,Ubuntu 的「vivid-updates」「wily-proposed」。无仓库名的即为主仓库。 Debian 的 stable、testing 为链接,指向具体系统发行版,会随时间而变。比如,当前 stable 为 jessie,所以 stable-backports 与 jessie-backports 等效。但本人不建义使用 stable、testing,因为下一个 stable 发布后,你的源便自动指向了一个新版本,然而你并未阅读新...阅读全文
。 很多人都想知道systemd什么时候可以停止扩张,笔者也希望得到一个确切的答案。到今天,systemd已经相当流行了,如今各大发行版包括Arch,Debian,Ububtu都已经切换到systemd或正在切换。systemd的反对者们创建了一个分支——uselessd,本来有望成为一个简单的init程序,但结果还是死了。本来尝鲜安装了systemd的用户,可能没想到自己得到的不仅仅是一个init软件,而是一个如此庞大的软件,不过发行版的维护者越发懒惰,systemd没准会让维护工作变得异常简单。...阅读全文
存储世界最近发生了很大变化。十年前,Fibre Channel SAN 文件管理器是企业存储的标准。而在目前的环境中,受到基础架构即服务云的影响,数据存储需要更加灵活。 GlusterFS 和 Ceph 是两个灵活的存储系统,在云环境中表现非常出色。 在尝试了解 GlusterFS 与 Ceph 之间的相似之处和不同之处之前,让我们来讨论在云环境中对灵活存储的一些要求。 纵向扩展和横向扩展。在云环境中,必须可以很容易地向服务器添加更多存储空间以及扩展可用存储池。Ceph 和 GlusterFS 都可以通过轻松将新存储设备集成到现有存储产品中来满足这一要求。 高可用性。GlusterFS 和 Ceph 的复制是同时将数据写入不同的存储节点。这样做的结果是,访问时间增加,数据可用性也提高。在...阅读全文