InfraPub 为您找到相关结果 311

Docker 核心原理

*), void *child_stack, int flags, void *arg); 我们知道容器本质上就是离的进程,Docker 在创建容器的时候就是使用 namespace 来实现了容器与容器,容器与宿主机的离。 个进程都有一个 /proc/[pid]/ns 的目录,里面保存了该进程所在对应 namespace 的链接, 我们来查看某个容器也就是某一个进程对应的 namespace 文件描述 1 2 3 4 5 6 7 8 9 10 root@lxkaka-server:~# ls -l /proc/23204/ns total 0 lrwxrwxrwx 1 root root 0 Jan 9 13:51 cgroup -> 'cgroup:[4026531835]' lrwxrwxrwx...阅读全文

博文 2021-02-25 09:14:23 lxkaka

PHP 7.4 有哪些新特性

PHP 7.4 的GA版今天正式发布了。PHP 7.4发布后,PHP 7.3或其它的PHP 7版本都可以升级到PHP 7.4版。 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)预加载提交性能属性类型限定Improved type variance(不会翻译)三元运算简写数组展开运算新增类的魔术方法:serialization数字分符运算优先顺序允许在__toString中抛出异常支持反射引用新增字节分割函数移除php短标签弃用左关联运算符不再向后兼容的变更 短闭包函数 短闭包函数可以减少冗余代码: array_map(function (User $user) { return $user->id; }, $users) array_map(fn...阅读全文

博文 2019-11-29 20:45:16 debian.cn

OpenStack 基金会发布新容器项目 Kata

和运行时的标准规范。Hyper 的 runV 被视为“容器管理程序”,支持 Xen 和 KVM。以上两个项目都被包含在 Kata 中,runV 用来启动容器。 在几天前举行的 Kubecon/CloudNativeCon 大会上有一场 演讲 提到了所谓的“虚拟容器”的底层技术,可以运行直接由超级管理程序管理的容器。在多租户环境里运行由 Kubernetes 管理的容器时,租户之间的离问题是重中之重。使用不同的虚拟机来运行不同的容器可以达到一定程度的离。但对于 Hyper 来说,这样做不是必需的,因为个容器由单独的管理程序进行管理,而不是运行在单独的虚拟机上。 现有的 OpenStack 容器项目 Magnum 和 Zun 使用了其他容器技术和编配器。用户可以通过 Magnum 为容器创...阅读全文

博文 2017-12-14 22:45:39 debian.cn

Facebook 开源的一组 Linux 内核组件与工具

题。 Cgroup2:https://facebookmicrosites.github.io/cgroup2/ Cgroup2 是下一代 Linux 内核机制,用于分组和构造工作负载,以及控制分配给个组的系统资源量。它具有内存、I/O、中央处理单元等控制器,它还允许离工作负载,并为个工作负载确定资源分配的优先级和配置。 PSI:https://facebookmicrosites.github.io/psi/ PSI(Pressure Stall Information,压力失速信息)首次提供了一种规范,通过内存、CPU 和 I/O 这三种主要资源的新压力指标来量化资源短缺。这些压力指标与此次开源的其它内核和用户空间工具相结合,可以在智能开发和响应时检测资源短缺。PSI 统计数据为即...阅读全文

博文 2018-11-24 09:27:14 debian.cn

Java 10 正式发布:包含 109 项新特性

个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码离性。 JEP 307: 向 G1 引入并行 Full GC JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中 JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程 JEP 313: 移除 Native-Header Generation Tool (javah) JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (周第一天为星期几)、rg (区域覆盖)、tz (时区) 等 JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆...阅读全文

博文 2018-03-21 08:35:10 debian.cn

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

的Kubernetes API, 以UCloud 公有云资源为基础, 通过自研的插件整合打通了ULB、UDisk、EIP等公有云网络和存储产品,为用户提供一站式云上Kubernetes服务。 其中VPC既保障网络离,又提供灵活的IP地址定义等,是用户对网络的必备需求之一。UK8S研发团队经过考察后认为,UCloud基础网络平台具有原生、强大的底层网络控制能力,令我们能抛开Overlay方案,把VPC的能力上移到容器这一层,通过VPC的能力去实现控制和转发。 UK8S创建一个Pod都为其申请一个VPC IP并通过VethPair配置到Pod上,再配置策略路由。 原理如下图所示。 此方案具有以下优势: 无Overlay,网络性能高。50台Node下的测试数据表明,容器与容器之间的网络性能,相...阅读全文

Bootstrap 4首个维护版发布 新增多项功能

Bootstrap 4 正式发布后的两个多月,Bootstrap 4.1 发布了。此次更新包括程序修复、文档更新、构建工具更改,以及新增了一些功能。 值得注意的是,自 Bootstrap 4 发布以来,文档地址采用了版本化设置的方式,这意味着发布一个新的次要版本都会带来一个新的文档地址。今天发布的这个版本也为文档地址提供了新的 URL,getbootstrap.com/docs/4.1/,当然之前的文档地址 getbootstrap.com/docs/4.0/ 仍可正常使用。 主要更新内容如下: 增加了新的自定义范围表单控件 添加了新的.carousel-fade修改器,可以将轮播从水平滑动切换为交叉淡入淡出 为明文下拉项目添加了新的 .dropdown-item-text 增加了新的...阅读全文

博文 2018-04-10 13:04:36 debian.cn

KDE Plasma 5.12.8 LTS发布:引入70多项改进

--版本号为5.12.8。Plasma 5.12于2018年2月份发布,其中包含许多功能改进和新模块来完善桌面体验。本次版本更新包含了KDE贡献者过去六个月的翻译和修复。这些BUG修复虽然规模不大,但是非常重要。” 作为长期支持版本,KDE Plasma 5.12桌面环境6个月获得一次维护版本更新,将会在2020年7月停止支持。KDE Plasma 5.12.9 LTS ,目前定于2019年9月10日发布。在此之前,如果您仍然在GNU / Linux发行版上使用KDE Plasma 5.12 LTS桌面环境,我们建议您尽快将其更新到今天的KDE Plasma 5.12.8版本。 访问:https://kde.org/announcements/plasma-5.12.8.php...阅读全文

博文 2019-03-06 10:30:27 debian.cn

Apache Flink 1.14 新特性预览 - OSCHINA

Checkpoint。StateTable 是以一个周期性的方式,独立的去对外做持续化的一个过程。 这两个过程进行拆分后,就有了从之前的需要做全量持久化 (Per Checkpoint) 变成 增量持久化 (Per Checkpoint) + 后台周期性全量持久化,从而达到同样容错的效果。在这个过程中,一次 Checkpoint 需要做持久化的数据量减少了,从而使得做 Checkpoint 的间能够大幅度减少。 其实在 RocksDB 也是能支持 Incremental Checkpoint 。但是有两个问题: 第一个问题是 RocksDB 的 Incremental Checkpoint 是依赖它自己本身的一些实现,当中会存在一些数据压缩,压缩所消耗的时间以及压缩效果具有不确定性,这个是和数据是相关的...阅读全文

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

华为路由WS5200增强版开售:全千兆网口加持 229元

1月2日消息,华为路由WS5200增强版将于今天上午10:08正式发售,售价229元。官方介绍,华为路由WS5200增强版搭载自研凌霄双核800MHz处理器,突破CPU瓶颈,Wi-Fi性能相比上一代有大幅提升。具体来说,2.4GHz Wi-Fi性能提升高达60%,5GHz Wi-Fi性能提升高达25%。128MB大内存配合强劲CPU,可同时满足多个设备稳定在线。 而且华为路由WS5200增强版支持双频合一,5GHz信号快、2.4GHz穿墙好,两个频段合二为一,合并显示,自动优选,避开干扰。离得近自动连5GHz,离得远墙自动连2.4GHz。 更重要的是,华为路由WS5200增强版配备四根磷铜高性能加宽天线,精密测试确定合理布局,降低同频干扰,更是采用LDPC弱信号纠错算法,让你墙也快...阅读全文

博文 2019-01-02 12:51:07 debian.cn

Facebook 是如何进行大规模代码部署的

Facebook 的首位发布工程师,目前是 Facebook 发布工程的工程总监。 Facebook 的发布周期是“ quasi-continuous ” (准连续)——这只是一种委婉的说法,表明并非次提交都会部署到生产环境,实际上它采用的是对几十到几百个提交进行批处理,几个小时就进行推送。这种分层发布的方式使任何变更的回滚很容易。 这个新系统从 2016 年 4 月开始,经过一年的时间慢慢地完善。早先的模式是从主干分支的提交中选择特定的变更放到发布分支上。发布分支天将这些变更推送到生产环境。这种“ cherry-picking ”的特点是,天选择变更的数量为 500 ~ 1000。剩下的变更就推入到周发布分支中。随着时间的推移,提交的数量和参与其中的工程师都有所增加,发布工程师的手工劳动变得...阅读全文

博文 2017-10-31 14:05:20 debian.cn

即将发布的 JDK 10 有 109 项新特性,你喜欢哪些

按计划,JDK 10 将于 3 月 20 日正式发布。据前 Oracle 员工 Simon Ritter 的统计,JDK 10 总共包含 109 项新特性。当然,在最终发布前,可能还会发生变化。 新特性中最重要的,是我们之前曾报道过的 12 个 JEP : JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看 JEP 286 调查结果。 JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。 JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码离性。 JEP 307: 向 G1 引入并行 Full GC。 JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓...阅读全文

博文 2018-03-08 12:56:20 debian.cn

bmon:一个强大的网络带宽监视和调试工具

(初学者说明:RX 表示秒接收数据,TX 表示秒发送数据): $ bmon bmon - Linux 带宽监视按 d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。 bmon - Detailed Bandwidth Statistics按 Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。 bmon – 快速指南通过 Up 和 Down 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。 选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0: $ bmon -p enp1s0 bmon – 监控以太网带宽要查看秒位数而不是秒字节数,可以像下面这样使用 -b...阅读全文

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

Ansible直接通过IP操作机器

如果要了解一两个 ip 的一些简单的情况,比如 ls -l /data | wc -l,以前是要写到 inventory 文件中的, ansible -i hosts all -m shell -a "ls -l /data0/ | wc -l" 也可以这样,一台机器最后面要有一个逗号, ansible all -i 192.168.1.1, -m shell -a "ls -l /data0/ | wc -l" 两台机器用逗号开,并且不能有空格, ansible all -i 192.168.1.1,192.168.1.2 -m shell -a "ls -l /data0/ | wc -l" 参考: http://stackoverflow.com/ 除了上面的 shell 模块,还...阅读全文

博文 2020-09-15 14:40:59 debian.cn

Linux 27周年:这27件有趣的事实你可能不知道

开发和发布时间表后,新版本的 Linux kernel 现在基本 66 天左右发布一次。 18、Linux 不是 Linus Trovalds 唯一知名的作品,还有 Git 版本控制系统和潜水应用 SubSurface 。 19、据估计,90% 的好莱坞视觉效果在生产流程的某个阶段依赖于 Linux 。 20、根据 openhub.net 的统计数据,超过 95% 的 Linux 是用 C 语言编写的。 21、最新版本的 Linux kernel 可能有 13.3%的代码由空行组成。这并非毫无意义,空行是严谨的编码风格的一部分,使内核保持整洁、高效和有序。 22、基于 Linux 的 Android 是目前全球最成功的移动操作系统。 23、Linux 的个内核版本都有一个有趣的代号,比...阅读全文

Prometheus 常用 PromQL 语句样例

选给定标签的序列: my_metric_name{label1="value1", label2="value2"}更复杂的标签匹配器: my_metric_name{label1!="value1", label2=~"regex1", label3!~"regex2"}匹配器: =: 等于 !=: 不等于 =~: 正则匹配 !~: 正则不匹配 Counter 的增长速率过去5分钟秒平均增长速率: rate(http_requests_total[5m])1分钟时间窗口中最后两个样本计算的秒增长速率: irate(http_requests_total[1m]过去1小时增加的绝对数值: increase(http_requests_total[1h])多个序列聚合对所有序列进行求和...阅读全文

博文 2021-02-09 11:07:15 51CTO博客

CPU 漏洞补丁对内核性能影响:4.15 比 4.11 快 7

知名Linux Kernel维护成员Greg Kroah-Hartman今天分享了一些非常有趣的细节--在Linux内核打上Meltdown和Spectre漏洞补丁之后的性能影响。根据Google+博文显示,最近发布的Linux Kernel 4.15的速度要比4.11快7-9%;在激活内核页表离(KPTI)情况下速度仅比4.11慢了1-2%。 Greg Kroah-Hartman在Google+上写道:“因此从整体上来看,我们又重新站在起跑线上了。让我感到欣慰的是,最近Meltdown的调整并未对综合性能造成太大的影响。不过如果你依然在使用旧版内核,那么就完全不一样了。” 对此,Greg Kroah-Hartman 在 Google+ 博文中推荐所有依然使用旧版Linux Kernel...阅读全文

博文 2018-02-01 10:52:20 9%

iTerm2 如何保持连接?

使用 Linux 进行命令行操作时,一不留神 SSH 客户端就断开了连接,如何配置 SSH 客户端保持连接? 第一种:修改配置文件 /etc/ssh/ssh_config 在文件末尾添加: ``` TCPKeepAlive yes ServerAliveInterval 300 ``` 第二种 在 iTerm2 的 Perferences > Profiles > session 中设置找到选项, 勾选 When idel, send ASCII code就可以了 ``` ☑️ When idle, send ASCII code 0 every 60 seconds ``` ASCII和时间间可自定义。通过这个配置,可以达到保持 SSH 连接的目...阅读全文

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

拟机有着更好的灵活性,可以供您选择您的操作系统,并在您认为合适的情况下进行升级。相比之下,运行已配置应用程序容器在主机的操作系统升级方面是离的。 Linux 容器 vs 虚拟机 – 用例场景 我最喜欢使用容器的原因之一就是使用 Linux 库版本。例如,假设您需要 Python 的特定版本来开发应用程序。然后,当你在运行应用程序的盒子上更新时,突然发现 Python 版本发生了变化,导致应用程序无法正常工作。 使用容器的另一个好处是你可以把一个应用程序放到一个容器中,然后在任何支持你正在运行的容器类型的操作系统上运行它。当你想要一个运行在不同 Linux 发行版应用程序时。通过使用容器,可以在各种不同的发行版上运行类似的应用程序环境。容器提供了可移植性。 容器对于快速的跨发行版部署是更可行...阅读全文

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

如何在 Debian 上安装 TensorFlow

TensorFlow 是一个端到端开源机器学习平台。它拥有一个包含各种工具、库和社区资源的全面灵活生态系统,可以让研究人员推动机器学习领域的先进技术的发展,并让开发者轻松地构建和部署由机器学习提供支持的应用。 TensorFlow可以在系统范围内,Python虚拟环境中,作为Docker容器或与Anaconda一起安装。在本教程中,我们将讲解如何在Debian 10的Python虚拟环境中安装TensorFlow。 虚拟环境使你可以在一台计算机上拥有多个不同的离Python环境,并在个项目的基础上安装模块的特定版本,而不必担心会影响其他项目。 以下内容提供了如何在Debian 10上的Python虚拟环境中安装 TensorFlow。 1、安装Python 3 venv 首先我们要验证...阅读全文

下一代时间同步服务 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

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

索容易许多。 创建大文档集合 MongoDB 乐于把最大 16MB 的文档置于集合中,而 GridFS 设计用于超过 16MB 的大文档。但是,可以容纳大文档并不意味着那是一个好主意。MongoDB 在单个文档的大小为几 KB 时表现最好,处理它们的方式更像宽 SQL 表的行。大文档会导致 多种性能问题 。 使用大数组创建文档 文档可以包含数组。最好是把数组元素的数量保持在四位数以下。如果数组频繁添加,会使得包含它的文档过大,那样, 它在磁盘上的位置就需要移动 ,反过来,这意味着 个索引都必须更新 。当一个包含大数组的文档重新索引时,由于 个数组元素都有一个单独的索引条目 ,所以会发生大量的索引重写。此外,这种重新索引在这类文档插入或删除时也会发生。 为了最小化这个问题,MongoDB...阅读全文

Debian Buster 10.2 发布: 合计115项改进

Debian项目团队于今天发布了Debian GNU/Linux 10 “Buster”分支的第二个维护版本更新,和此前版本更新相2个多月时间。为那些想要在新电脑上部署操作系统,或者不想要下载数百个更新的用户,Debian 10.2将会提供新的安装镜像。Debian GNU / Linux 10.2“ Buster”总共包含115个更改,包括66个各种BUG修复,以及49个针对各种核心组件和软件的安全更新。 下载:https://www.debian.org/mirror/list Debian团队表示:“值得注意的是,本次维护版本更新并不构建Debian 10的新版本,只是对系统的部分组件进行了更新。因此目前不需要丢弃旧的安装媒介。在完成安装之后,可以使用最新的Debian镜像来升级至...阅读全文

博文 2019-11-17 17:20:30 debian.cn

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

627891 > 627891.svg -d N 分析持续时间(以秒为单位)。如果未提供启动,恢复,停止或状态选项,则探查器将运行指定的时间段,然后自动停止。 -i N 设置分析间(以纳秒或者毫秒等作为单位),默认分析间为10ms。 -o 转储文件的格式。 等待15s,就会产生结果,生成 627891.svg 文件。vim 627891.svg 并删除第一行,然后下载到本地并使用浏览器打开。 结果如下图,此图俗称火焰图,主要看个方法的横轴长度,占用横坐标越长的操作,其占用的 cpu 即最长,很直观的。 9.2 性能黑点分析 我们首先发现下图红框内的代码存在严重的性能问题。在append的过程中,获取线程 stack 的过程耗时比较大。从火焰图中分析,耗时占据了接近50%的是,一个logger操作...阅读全文

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

如何使用 journalctl 清理 journal 日志

位置。 "none" 表示不保存任何日志(直接丢弃所有收集到的日志), 但日志转发(见下文)不受影响。 默认值是 "auto" Compress= 默认值"yes"表示: 压缩存储大于特定阈值的对象。 Seal= 默认值"yes"表示:如果存在一个"sealing key"(由 journalctl(1) 的 --setup-keys 命令创建), 那么就为所有持久保存的日志文件启用 FSS(Seekable Sequential Key Generators)保护, 以避免日志文件被恶意或无意的修改。 SplitMode= 设置是否按照个用户分割日志文件,以实现对日志的访问控制(日志守护进程会确保个用户都能读取自己的日志文件)。 可以使用的分割策略如下: "uid" 表示个用户都有自...阅读全文

博文 2021-02-05 15:43:28 博客园

架构师详解 Nginx 架构

,主进程和工作进程需要进程交互。交互依赖于 Socket 实现的管道来实现。 Master-Worker 交互 这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程 ID 等;同时主进程与外界通过信号通信;个子进程具备接收信号,并处理相应的事件的能力。 worker-worker 交互 这种交互是和 Master-Worker 交互是基本一致的,但是会通过主进程。工作进程之间是相互离的,所以当工作进程 W1 需要向工作进程 W2 发指令时,首先找到 W2 的进程 ID,然后将正确的指令写入指向 W2 的通道。W2 收到信号采取相应的措施。 五. 总结 通过这篇文章,我们对 Nginx 服务器的整体架构有了一个整体的认识。包括其模块化的设计...阅读全文

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

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

本文作者 Tyler Treat 是一名软件工程师,他认为运维的未来从很多方面来说都跟质量保证(QA)的未来走向相似。未来,运维要使开发者能够通过工具、自动化和流程实现自助服务。传统的运维( Ops)没有消失,只是在重组。 云服务的发展看起来让运维人员“丢”了工作,因为从传统意义上说,从本地(on-premise)转移到云平台意味着运维工作在相当大程度上外包给云提供商。这正应了那个流行词—— “无运维运动”(NoOps),许多人称之为 DevOps 的“继承者”,虽然这个词最近这些日子已经不是那么响亮了。这使得 Amazon 和开发团队创建的产品——包括基础设施自动化,部署自动化,配置管理,日志管理以及监控和检测——之间出现了膜,膜虽小,但却至关重要。 事实上,运维的未来从很多方面来说...阅读全文

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

协议介绍之深入了解 gRPC

HTTP header。HTTP header 各个 fields 使用 \r\n 分,然后跟 body 之间使用 \r\n\r\n 分。解析完 header 之后,我们才能从 header 里面的 content-length 拿到 body 的 size,从而读取 body。 这套流程其实并不高效,因为我们需要读取多次,才能将一个完整的 HTTP 请求给解析出来,虽然在代码实现上面,有很多优化方式,譬如: 一次将一大块数据读取到 buffer 里面避免多次 IO read 读取的时候直接匹配 \r\n 的方式流式解析 但上面的方式对于高性能服务来说,终归还是会有开销。其实最主要的问题在于,HTTP/1.x 的协议是 文本协议,是给人看的,对机器不友好,如果要对机器友好,二进制协议才是更好的...阅读全文

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

Linux基金会宣布开放物联网ACRN管理程序

Linux基金会发布了其中一个开源项目ACRN的详细信息,这是一个专为物联网和嵌入式设备设计的管理程序。该项目得益于英特尔代码和工程的贡献,其目标是创建一个灵活小巧的虚拟机管理系统。通过基于Linux的服务操作系统,ACRN可以同时运行多个客户操作系统,使其成为许多场景的理想选。 Linux基金会表示,管理程序和设备模型是以“安全关键型工作负载”为基础构建的,并且设想ACRN将一些IoT工作负载整合到一个平台上。虽然该项目是作为强大而灵活的解决方案提供的,但嵌入式开发人员社区被邀请提供代码以进一步扩展和改进ACRN。 通过项目ACRN,嵌入式开发人员可以立即使用新的管理程序选项。 ACRN针对资源受限设备进行了优化,并将重点放在离安全关键型工作负载并给予他们优先考虑,使项目适用于许多物联...阅读全文

博文 2018-03-20 08:33:38 debian.cn

Consul 1.6 GA 发布

Consul 1.6.0 已于近日 发布 GA 版本 ,Consul 是 HashiCorp 公司推出的开源工具,也是主流的用于实现分布式系统服务发现与配置的方案。HashiCorp 对 Consul 的介绍是一个多云服务网络平台,用于在跨任何运行时平台和公共云或私有云的场景连接和保护服务。 本次更新主要集中在 Consul Connect(为其增加了一些主要新特性)和 Consul 的服务网格解决方案方面,此外还有一些改进和错误修复。 Consul 1.6 新特性 支持对 L7 层的流量管理 。1.6 使用了新的配置条目类型,可为服务到服务(service-to-service)的请求启用高级流量管理模式。其他配置条目类型如服务解析器、服务离器以及服务路由器通过高级服务故障转移和部署模...阅读全文

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

储系统. HDFS 使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通文件系统一样使用分布式文件系统。 HDFS文件系统 2. HDFS架构 HDFS架构 HDFS是一个主/从(Mater/Slave)体系结构,由三部分组成: NameNode 和 DataNode 以及 SecondaryNamenode: NameNode 负责管理整个文件系统的元数据,以及一个路径(文件)所对应的数据块信息。 DataNode 负责管理用户的文件数据块,一个数据块都可以在多个 DataNode 上存储多个副本,默认为3个。 Secondary NameNode 用来监控 HDFS 状态的辅助后台程序,一段时间获取 HDFS 元数据的快照。最主要作用是辅助 NameNode 管理元数...阅读全文

Debian、Ubuntu安装源配置文件说明

源列表主文件 /etc/apt/sources.list,兼取 /etc/apt/sources.list.d/*,结果以并集论。 源列表文件以行为单位,行分多个字段,字段间以空白符分。井号(#)开头为注释行。样例如下: 安装源配置样例(Debian 8 jessie): deb http://ftp.tw.debian.org/debian/ jessie main contrib non-free deb http://ftp.tw.debian.org/debian/ jessie-updates main contrib non-free deb http://ftp.tw.debian.org/debian/ jessie-backports main contrib non...阅读全文

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

3个 Linux 命令让你看起来很忙:摸鱼的技巧

。它播放的序列由你决定,但默认情况下它包括一个加密货币挖掘模拟器、composer PHP 依赖管理器、内核编译器、下载器、内存管理等等。不过,我最喜欢的是显示 simcity 加载消息的设置。因此,只要没有人检查得太仔细,你就可以花整个下午的时间等待电脑完成进度条。 Genact 有 linux、os x 和 Windows 版本,Rust 源码可以在 github 上找到。 Hollywood Hollywood 采取了更直接的方式。它本质上是在终端中创建一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其他应用程序等,并几秒钟进行切换。它以 shell 脚本的形式组合在一起,因此可以很容易地根据你的需要进行修改。 Hollywood 的源代码可...阅读全文

博文 2019-09-28 15:48:43 debian.cn

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

Windows 11 时可能会在某些应用程序中出现性... 18 0 MySQL 8.0.27 GA 时 3 个月,MySQL 的最新版本 8.0.27 于 2021 年 10 月 19 日正式 GA。这是 MySQL8.0 的一个维护版本,除了修复 207 个 Bug 之外,还增加了一些新功能: 多因素身份验证功能。MySQL支持对账户使用最多三种方法进行验证,可以在创建或者更改用户时启用该功能。命令行客户端可以使用--password1, --password2, --passwor... 4 2 IntelliJ IDEA 2021.2.3 正式发布 IntelliJ IDEA 2021.2.3 现已发布,用户可以从 IDE 内部、通过 Toolbox 应用程序或使用 Ubuntu 的...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA

Android 12 正式发布,代号「Snow Cone」 自今年 2 月 Google 发布 Android 12 开发者预览版起,时 8 个月时间 Google 正式发布 Android 12,该版本带来的重要功能包括: Material You Google 在今年推出了名为 Material You 的全新设计语言,极大地改变了 Android 的视觉效果。它专注于整个操作系统的个性化、色彩和动画。通知面板、快速设置,以及电源按钮菜... 15 2 NGINX 1.18 和 1.19 简析 今天文章的焦点将是互联网上最受欢迎的 Web 服务器 NGINX Open Source 的NGINX 1.19版本。NGINX 1.19 开发分支的推出跟随着早先发布的NGINX 1.18...阅读全文

博文 2021-10-09 12:23:58 中文开源技术交流社区

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

的 K8S 环境不矛盾。 另外一方面,如果说定制的概念是指基于 K8S 本身开发体系所提供的插件机制去做二次开发,那家厂商都要定制,因为 K8S 本身不是一个产品级就绪的环境,需要使用者去适配网络和存储还有计算,因为个公有云厂商基于自己的 IaaS 去提供 K8S 产品,必然要去开发插件。 综上,向用户应该提供原生的、标准的 K8S 产品,但底层应该基于自身 IaaS 平台去定制,本质还是为了提高用户使用 K8S 的效率,让用户开箱即用。 K8S 落地挑战:改造成本和人才问题 记者:你觉得目前国内云厂商提供的 K8S 集群编排服务在推广方面目前欠缺的是什么?是什么阻碍了客户进一步去使用这些容器集群服务? 叶理灯:K8S 以容器技术为核心、以容器镜像为打包标准的特点,意味着如果要迁移到这个...阅读全文

博文 2019-06-14 08:28:49 debian.cn

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

kubelet 中垃圾回收机制的设计与实现

kubernetes 中的垃圾回收机制主要有两部分组成:一是由 kube-controller-manager 中的 gc controller 自动回收 kubernetes 中被删除的对象以及其依赖的对象;二是在个节点上需要回收已退出的容器以及当 node 上磁盘资源不足时回收已不再使用的容器镜像;本文主要分析 kubelet 中的垃圾回收机制,垃圾回收的主要目的是为了节约宿主上的资源,gc controller 的回收机制可以参考以前的文章 garbage collector controller 源码分析。kubelet 中与容器垃圾回收有关的主要有以下三个参数:--maximum-dead-containers-per-container: 表示一个 pod 最多可以保存多少个...阅读全文

博文 2021-02-05 17:48:22 知乎

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

具体某个或某些 Trace 链路,只能根据时间戳粗略关联特定范围内的链路。这个方案的缺陷源自指标采集器 vmagent 10s~30s 的 Pull 模式中,指标的时间戳取决于采集时刻,与 Trace 调用时间并不匹配。 Exemplar 数据在直方图度量格式末尾会追加当前上下文中的 Trace ID,Span ID 信息,如下: shadower_virtual_field_map_operation_seconds_bucket{holder="Filter:Factory",key="WebMvcMetricsFilter",operation="get",tcl="AppClassLoader",value...阅读全文

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

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

-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使个CPU时间片(Cycle)做更多的工作。 (3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救 了很多站点,这个优点也是其它负载均衡器没有的。 (4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器...阅读全文

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

nsenter 及 Linux命名空间 简介

,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 56:7b:98:07:30:bc brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.134.93/27 brd 192.168.134.95 scope global eth0 valid_lft forever preferred_lft forever 通过内网 IP 地址,我们得知已成功进入容器内部。 原理 namespace namespace 是 Linux 中一些进程的属性的作用域,使用命名空间,可以离不同的进程。 Linux在不断的添加命名空间,目前有: mount:挂载命名空间,使...阅读全文

博文 2020-12-15 11:22:44 debian.cn

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

的 Pod 的分布状况,这是分布式系统(比如 Kubernetes)的关键因素。这些任务都是由 Kubelet 组件完成的,让我们开始吧! 在 Kubernetes 集群中,个 Node 节点上都会启动一个 Kubelet 服务进程,该进程用于处理 Scheduler 下发到本节点的任务,管理 Pod 的生命周期,包括挂载卷、容器日志记录、垃圾回收以及其他与 Pod 相关的事件。 如果换一种思维模式,你可以把 Kubelet 当成一种特殊的 Controller,它 20 秒(可以自定义)向 kube-apiserver 通过 NodeName 获取自身 Node 上所要运行的 Pod 清单。一旦获取到了这个清单,它就会通过与自己的内部缓存进行比较来检测新增加的 Pod,如果有差异,就...阅读全文

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

分布式运行时 Dapr 知多少

API:POST/PUT http://localhost:/v1.0/bindings/输出到Kafka特定队列上。 5. Actors Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传,之前写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过。简单来讲:Actor模型 = 状态 + 行为 + 消息。一个应用/服务由多个Actor组成,个Actor都是一个独立的运行单元,拥有离的运行空间,在离的空间内,其有独立的状态和行为,不被外界干预,Actor之间通过消息进行交互,而同一时刻,个Actor只能被单个线程执行,这样既有效避免了数据共享和并发问题,又确保了应用的伸缩性。 Actor模型大大简化了并发编程的复杂...阅读全文

Monit:开源服务器监控工具

[0.0%] data collected Sat, 18 Feb 2017 10:09:56 或者浏览器输入http://localhost:2812登录网页版查看实时状态。 设置错误提醒 Monit默认情况下如果一个服务失败只发送一个通知: alert foo@bar 如果您希望在服务保持处于失败状态时十个周期通知一次,您可以使用: alert foo@bar with reminder on 10 cycles 同样,如果您想在个失败的周期获得通知,您可以使用: alert foo@bar with reminder on 1 cycle 要禁止某些用户和服务的警报,可以在服务检查的局部配置里添加语句: noalert mail-address 服务类型 首先需要理解在monit里什么是...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

网易云音乐Linux版v1.1发布 支持 Debian Stretch

近一年半的时间,网易云音乐 Linux 版本终于迎来了更新,本次更新除了迁移到QCEF框架,对GNOME、KDE桌面环境支持更好,支持最新 Debian 9、Ubuntu 17.10版本(仅64位),还优化和修复各个社区用户反馈的问题。 具体的细节优化如下: 迁移全新的QCEF框架; 使用了全新的播放器后端; 支持打开更多格式的本地文件; 优化播放时内存占用资源问题; 优化扫描本地音乐目录,支持读取下载任务的状态; 优化第三方字体的支持; 优化淡入淡出效果和在线播放; 优化更好的支持Wayland环境; 移除了沙盒机制; 修复部分本地音乐播放存在卡顿的问题; 修复Tooltip位置偏移的问题; 修复在Qt 5.9中界面乱码的问题; 修复GPU加速选项无效的问题; 修复无法捕获本地目录变...阅读全文

博文 2017-12-02 18:34:00 debian.cn

腾讯在贵州有个山洞:放置腾讯业务最核心数据

干嘛的?“如果把腾讯比作一个工厂,那么数据中心就是车间,信息需要在这里集中处理、存储、交换。”腾讯技术工程事业群任职数据中心技术总监朱华说。 那个名叫T-block的技术,是腾讯数据中心自主研发的第四代技术。 腾讯数据中心的技术发展,总共经历四个阶段: 第一代(2006-2009),基本是沿用了传统电信机房的解决方案(厂房改造,风冷,N+1冗余),只在局部做了点优化,比如冷热通道离; 第二代(2007-2011),从天津开启数据中心的大而全模式,10万量级、大型离心冷水机组、10KV Switch Gear、变压器上楼、中压油机、UPS、STS、AHU、MAU、封闭热通道、预作用水消防、水侧Free cooling、Air side economizer; 第三代TMDC(2011...阅读全文

博文 2018-04-06 08:44:38 debian.cn

总结系统设计中的33个黄金法则

Refer to https://www.linkedin.com/pulse/system-design-rules-navneet-kumar-p6n7f/ 系统设计很复杂,它需要设计者有深厚的计算机知识和专业知识,没有一种通用的设计可以适应所有业务场景。尽管如此,还是有一些比较通用的规则可以供你设计系统时参考,也能帮助你在面试中摆脱困境。 1. 对于数据密集型系统 — 考虑使用缓存。 2. 对于写入量大的系统 — 使用消息队列进行异步处理 3. 对于低延迟要求 — 考虑使用缓存和 CDN。 4. 需要𝐀原子性、𝐂一致性、𝐈离性、𝐃耐用性兼容数据库 — 选择 RDBMS/SQL 数据库。 5. 对于非结构化数据——可以选择NoSQL...阅读全文

深入了解Docker背后的namespace技术

,这是系列博客的第一篇,深入探讨Docker对namespace技术的应用。 Namespaces 在第一部分,我会在文章中讨论Docker在使用Linux namespace时,如何创建Linux namespace。在之后的博客中我们会讨论namespace如何与其它特性如cgroups和离的文件系统相结合,去实现更多有用的功能。 从根本上说,namespace是Linux系统的底层概念,有一些不同类型的命名空间被部署在核内。跟踪docker run -it --privileged --net host crosbymichael/make-containers这段代码,我们就可以深入到个不同的namespace。开始会有一些预加载文件和配置。尽管我们也会在用Docker为我们运行的...阅读全文

博文 2015-05-17 10:03:00 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

API 中的一种特殊的 ephemeralcontainers 处理器进行创建的,而不是直接添加到 pod.spec 段,因此无法使用 kubectl edit 来添加一个临时容器。 与常规容器一样,将临时容器添加到 Pod 后,将不能更改或删除临时容器。 为什么我们需要Ephemeral 容器? 我们知道容器的优点是它们通过使用不变方法提供所有必需的依赖项来运行离的进程。通过仅将所需的依赖项添加到镜像中,容器可以降低攻击面并提供更快的启动和部署。使用“distroless”方法构建容器镜像(基于scratch),通过仅包含已编译的应用程序二进制文件,将容器镜像提升到了一个新的水平。与普通的容器镜像不同,它们不基于任何种类的Linux发行版,因此不包含任何其他可通过kubectl exec执行...阅读全文

博文 2021-08-20 11:45:32 博客园