InfraPub 为您找到相关结果 564

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

工作程序。 第5步 - 设置工作节点 将工作程序添加到集群涉及在每个集群上执行单个命令。 此命令包括必要的群集信息,例如主服务器API服务器的IP地址和端口以及安令牌。 只有传入安令牌的节点才能加入群集。 导航回您的工作区并创建一个名为workers.yml的剧本: nano ~/kube-cluster/workers.yml 将以下文本添加到文件中以将工作程序添加到集群:〜/ KUBE群集/ workers.yml - hosts: master become: yes gather_facts: false tasks: - name: get join command shell: kubeadm token create --print-join-command...阅读全文

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

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

即断网吗? 放心,网卡配置需要重启才能生效,所以你只需要确保重启前正确配置了网卡。 新建一个 vmbr0. Create - Linux Bridge 桥接网卡 将 IP 地址配置到桥接网卡上,桥接网卡指向 物理网卡 如果有 IPv6 地址也可以加上。 IPv6 也不是完没卵用,我们可以用 cf 中转,搞点网站什么的还是可以,就不用再配置一套内网了。 Cloudflare support IPv6 addresses to your origin server, and will accept both IPv4 and IPv6 from clients. via: https://serverfault.com/questions/874387/ipv6-only-server...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

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

多,有 100 多个系统,很多业务概念。 老大说:不要好高骛远,我建议你结合当前的工作,一步步学习,以点带面。 刚进公司的时候,我不是很有自信,因为知道自己技术可能比很多大牛差距很大。同时,自己也是一个不太会表达的人(原来的老大也说过,我的软能力不行),整体上在初期感觉相对较闷。 日常工作就会把自己占得很满,怎么去学习?我的技术不行,就想去学代码,框架,支付宝的代码部是开源的,所以我可以很简单通过 eclipse 直接查看框架的源码,渐渐的,比很多人都了解框架,了解技术。我还会去狂公司的论坛,公司的 doc,这上面有框架设计相关的内容。所以,很多时候机会是很多的,关键是你想不想去去。 所以,不要好高骛远,脚踏实地,时刻保持饥饿感,积少成多。 开放心态,视野决定格局 12 年妻子怀孕,于是转...阅读全文

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

Sam Altman的成功学|OneFlow

“如果把Sam Altman扔到某个食人族之岛,5年后他会成为这个食人族岛的国王。“ 在硅谷创业教父Paul Graham的眼里,Sam Altman是一位极具魄力的领导者和开拓者。如今,已成为OpenAI CEO的Sam Altman是球范围内当之无愧的科技领军人物。 他的职业生涯可谓一路开挂。从斯坦福大学计算机系辍学后,19岁的他成立了位置服务提供商Loopt,而后被预付借记卡业务公司Green Dot收购,2014年,YC创始人Paul Graham选择他成为继任者,在不到30岁时开始在球创业创新领域大放异彩。 2015年,他与马斯克等人共同成立OpenAI,2019年,Sam Altman离任YC总裁,成为OpenAI的CEO,并相继领导推出重量级AI模型GPT-3、DaLL...阅读全文

Debian下编译安装Golang

我的Debian是用来工作的,因此用的是稳定源。稳定源的优点是,软件经过充分的测试,处于稳定版本。这种状态对于绝大多数软件,都是最合适的。 但是,对于一些需要最新版本的软件来说,稳定源太过于滞后。 官网不仅连接不稳定,二进制发布包也不够。 目前(2016),Debian的稳定源只能安装go1.3版本。如果需要最新的版本,只能自行从源码编译安装。 卸载旧版本 sudo apt-get remove golang sudo apt-get autoremove 源码下载 git clone https://github.com/golang/go.git 如果没有Git,必须自行解决;如果没有gcc,也需要自行安装。 此外,golang/go这个库实在太大,近200MB。完整从GitHub上...阅读全文

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

Linux:为什么那么多人讨厌 Systemd

因。也有其他人认为,systemd的日志记录并不是很好,二进制日志被很多人所诟病,虽然systemd提供了更快的索引,但二进制日志本身就有问题,而且systemd的日志损坏也不是第一次发生了。而且systemd真正令人反感的是设计不够灵活,对很多人而言,systemd阻止了他们的选择自由,考虑到kFreeBSD分支的软件源无法纳入systemd,为与其他分支保持一致,Debian的开发者尽力避免纳入systemd。但Lennart Poettering本人对此并不在意,并称“Debian GNU/kFreeBSD不过是玩具系统”。 systemd目前还处于中间发展阶段,那些想要超级安或超级小或超快速系统的人都不适合使用。事实的真相是,systemd的很多反对者并不真正关心“底层”,只是抱怨...阅读全文

你和 Linux 高手只差了一个 LFS

以篇幅不小,快则一两天,慢可能要一两周你才能跟着把系统构建完。一次做完你也不见得能把知识完消化。 然后,刚才我也提到了,为了让内容更精炼,更多的只是叙述和说明,并不会夹杂太多作者的思想和经验,看起来显得很枯燥。 最后,相信大家都不是太喜欢看教科书。当然,其实还有一个缺点,会给我们的学习带来比较大的阻力,这个我们后面会提到。 LFS 的定位 盘点了优缺点以后 LFS 的定位就很清晰了,它就是一本书,一本教科书。所以你不能要求它像小说般有趣。而这本书的受众是,广大的程序员,学生,Linux 用户,以及任何一个对此感兴趣的人。 如何开始? 如果你英文水平尚可的话,请直达 LFS 官网: http://www.linuxfromscratch.org/lfs/ ,开始你的上帝之旅吧。 如果你希望阅...阅读全文

博文 2017-07-17 17:45:59 debian.cn

GlusterFS 和 Ceph 比比看

Ceph 的差异。顾名思义,GlusterFS 是来自 Linux 世界的文件系统,并且遵守所有 POSIX 标准。尽管你可以将 GlusterFS 轻松集成到面向 Linux 的环境中,但在 Windows 环境中集成 GlusterFS 很难。 Ceph 是一种新的存储方法,对应于 Swift 对象存储。在对象存储中,应用程序不会写入文件系统,而是使用存储中的直接 API 访问写入存储。因此,应用程序能够绕过操作系统的功能和限制。如果已经开发了一个应用程序来写入 Ceph 存储,那么使用哪个操作系统无关紧要。结果是,Ceph 存储在 Windows 环境中像在 Linux 环境中一样容易集成。 基于 API 的存储访问并不是应用程序可以访问 Ceph 的唯一方式。为了最佳的集成,还有一个...阅读全文

博文 2017-08-09 10:35:29 debian.cn

为何 Kubernetes 如此受欢迎?

原生云计算基金会(CNCF)。 CNCF 也是更大的 Linux 基金会的一部分,拥有一些顶级企业成员,其中包括微软、谷歌和亚马逊。此外,CNCF 的企业成员队伍持续增长,SAP 和 Oracle 在过去几个月内加入白金会员。这些加入 CNCF 的公司,其中 Kubernetes 项目是前沿和中心的,这证明了有多少企业投注于社区来实现云计算战略的一部分。 Kubernetes 外围的企业社区也在激增,供应商提供了带有更多的安性、可管理性和支持的企业版。Red Hat、CoreOS 和 Platform 9 是少数几个使企业级 Kubernetes 成为战略前进的关键因素,并投入巨资以确保开源项目继续得到维护的公司。 混合云带来的好处 企业以这样一个飞速的方式采用 Kubernetes 的另...阅读全文

博文 2017-11-07 23:58:26 debian.cn

Debian 社区陷入尴尬 或群龙无首

没有人在做任何竞选活动。” 为什么大家都不愿担任领导人呢? Debian 领导人的主要职能有两项:一方面是代表 Debian 到世界各地,在会议上进行分享,同时处理项目与其它团队和公司的关系;另一方面是行政上的,领导人要管理项目资金,任命开发者在项目中担任不同角色,并负责项目中的一些细节。 但是公开信中也指出,实际上,因为 Debian 项目把各种各样的权限都下放到社区成员中,导致领导人的实权实际上并没有多少。比如,个别开发者几乎可以完控制他们维护的软件包;开发人员之间的技术分歧很大的时候,将由项目技术委员会处理;发布管理者与 FTP 主人有权最终决定项目实际发布的内容,以及何时发布;项目秘书负责确保遵循必要的程序;政策团队处理项目的大部分总体设计。 另一方面,Debian 领导人这个职位...阅读全文

博文 2019-03-14 11:05:23 debian.cn

Debian目前面临的问题:钱足够但很缺人!

Kubuntu 和 MATE 等官方变体外,还有 Linux Mint、Linspire 和 Zorin 等第三方变体。Dibian 本身也广泛用于运行本地和公有云上的服务器应用,并且是完免费的。当然,Google 和 AWS 也位列此次 DebConf20 大会的白金赞助商。Debian 是由美国非盈利组织 SPI(Software in the Public Interest,公共利益软件组织)运营的。 “Debian 人不喜欢花钱,对此有负罪感。” 在本次 DebConf20 线上大会上,Carter 在“Debian 现状”部分报告了 Debian 项目具有非常健康的财务状况。他指出,项目受益于 SPI 等多家组织,目前银行账户金额超过 90 万美元。“一旦做事缺钱,就会有(赞助商)出手...阅读全文

博文 2020-10-09 10:24:04 debian.cn

Twitter确认接受440亿美元收购提议 埃隆·马斯克将完全控制该公司

的9.2%的被动股份。这一披露促使这家社交媒体巨头的首席执行官帕拉格-阿格拉瓦(Parag Agrawal)向马斯克提供了一个Twitter董事会席位。然而,马斯克拒绝成为Twitter董事会的一员,因为该提议有一个条件,即阻止特斯拉CEO将其在Twitter的股份增加到15%以上,可以预见的是,这引起了人们的猜测,即马斯克正在对整个公司发起恶意收购。 就在这些戏剧性事件发生几天后,马斯克正式公布了他以每股54.2美元的价格将Twitter私有化的提议,相当于超过430亿美元的价格。马斯克还写了一封致Twitter董事会的公开信,指出。 "我投资Twitter是因为我相信它有可能成为球自由言论的平台,我相信言论自由是一个正常的民主社会所必需的。然而,自从投资以来,我现在意识到...阅读全文

全民HTTPS时代:盘点免费SSL证书那些事儿

根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 准备采取下一步措施:将所有 HTTP 网站标记为不安。 随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。 一、Let’s Encrypt 官方网站:https://letsencrypt.org/ 点评:毫无疑问,Let’s Encrypt 是目前使用范围最为广泛的免费 SSL 证书,而且官方博客宣布,自 2018 年开始提供通配符 SSL...阅读全文

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

用 proc 输入模块运行 bmon: $ bmon -i proc -p enp1s0 如何使用 bmon 输出模块 bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括: curses - 这是一个交互式的文本用户界面,它提供实时的网上估计以及每个属性的图形化表示。这是默认的输出模块。 ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 库不可用时这是默认的备选输出模块。 format - 这是完脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值进行分析。 null - 停用输出。 像下面这样通过 help 选项获取更多的模块信息。 $ bmon -o...阅读全文

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

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

我们登陆远程服务器后,常常需要下载、或者上传一些文件,我们常用的 lrzsz 对 tmux 支持不够友好,于是就有了 trzsz 这个新工具,它安装简单,使用方便,功能面,小巧灵活,GitHub项目地址: https://github.com/trzsz/trzsz为什么需要 trzs 这个“轮子”?考虑 laptop -> hostA -> hostB -> docker -> tmux 这种场景,使用 scp 或 sftp 是不方便的。在这种场景下,使用 lrzsz ( rz / sz ) 是很方便的,但是很可惜它与 tmux 不兼容。 tmux 不愿意支持 rz / sz ( 906, 1439 ),而重新造一个工具比修改 tmux 简单很多。trzsz 安装指南在远程服务器上安装...阅读全文

三个简单而优秀的 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

JDK 11 版本时间表公布

。 依赖 RMI-IIOP、javax.activity 包或 CORBA API 的 CORBA 应用程序将无法通过编译或运行。 红帽首席软件工程师 Aleksey Shipilëv 最近发推文说,由于 JAXB 模块被 JEP-320 移除,因此 SPECjbb2015 基准测试在 Java 10+上出现了问题。建议加入 JAXB 依赖来解决该问题: javax.xml.bind jaxb-api 2.3.0 新的 Java SE 版本发布周期 随着 JDK 10 发布六个月之后,JDK 11 计划于 2018 年 9 月发布,新的 Java 发布 版本周期 已经面铺开。开发人员可能已经习惯于多年一次的 Java 新版本发布,可能由于新版本节奏发生变化,感觉受到轻微的冲击。 Java 社区...阅读全文

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

高性能缓存服务器 Nuster

Nuster 是一个基于 HAProxy 的高性能缓存服务器。Nuster 完兼容 HAProxy,并且利用 HAProxy 的 ACL 功能来提供非常细致的缓存规则,比如 请求地址为某某时缓存 请求参数中的 X 为 Y 时缓存 响应头中的 X 为 Y 时缓存 请求速率超过多少时缓存 等等 Nuster 性能评测 非常快, 单进程模式下是 nginx 的 3 倍,多进程下 nginx 的 2 倍,varnish 的 3 倍。详见benchmark 安装 Nuster git clone https://github.com/jiangwenyuan/nuster.git cd nuster make TARGET=linux2628 make install 详情请参照 HAProxy...阅读全文

博文 2017-12-15 22:17:31 debian.cn

使用 setfacl 管理文件的访问控制列表ACL

。在 Debian 系统中,执行命令: sudo apt-get install acl ACL 使用样例 ACL即Access Control List,主要的目的是提供传统的 owner, group, others 的 read, write, execute 权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的访问控制有一定帮助。例如,某一个文件不让单一的某个用户访问。 ACL使用两个命令来对其进行控制: getfacl:取得某个文件/目录的ACL设置项目 setfacl:设置某个文件/目录的ACL设置项目 setfacl 的命令参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除部的acl参数 -k:删除默认...阅读全文

开发者体验被重点关注:开发人员是关键资产 - OSCHINA

外媒 betanews 近日与一些企业高管进行了一些交流并得出结论称,开发者体验正经历一个优先级转变。即,云供应商和技术公司在开发者体验方面聚焦了更多的目光;这些公司正在投资和构建工具,以帮助开发人员更好、更快、更高效地工作。 开源数据库公司 Percona 的产品高级副总裁 Donnie Berkholz 指出,发生这种焦点变化的原因在于,企业希望他们的开发人员更有生产力,对他们的工作方式更加满意,但他们也希望围绕技术管理和控制自己的命运。他们希望提供同样水平的速度和效率,但要跨越他们的 IT stacks 来设置东西。对于运行私有云的公司来说,这就是要与那些完致力于公共云的竞争对手平起平坐。 并补充称,开发者体验投资将是为了使这种自助式的构建应用程序的方法能够发挥作用,并迅速发挥作用...阅读全文

博文 2021-12-28 14:45:52 中文开源技术交流社区

如何在 Debian 中安装 DHCP 服务器

。 4、 现在打开并修改主文件,定义 DHCP 服务器选项: $ sudo vi /etc/dhcp/dhcpd.conf 在文件顶部设置以下局参数,它们将应用于下面的所有声明(请指定适用于你情况的值): option domain-name "tecmint.lan"; option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan; default-lease-time 3600; max-lease-time 7200; authoritative; 5、 现在定义一个子网,这里我们为 192.168.10.0/24 局域网设置 DHCP (请使用适用你情况的参数): subnet 192.168.10.0 netmask...阅读全文

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

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

从这一过程当中汲取到经验,并在过去几次发布周期内对部四种资源进行了针对性调整,最终使得DaemonSet与StatefulSet也加入到稳定版本队伍中来。此次发布的v1版本代表着其针对生产需求进行强化且准备就绪,拥有长期向下兼容性保证。 Windows支持(beta测试阶段) Kubernetes最初专门针对Linux系统开发而成,但随着我们的用户越来越多地意识到容器编排功能的优势,我们发现Kubernetes也确有必要运行Windows工作负载。12个月之前,我们开始认真探索Kubernetes支持Windows Server的相关工作。SIG-Windows[3]如今已经将这一功能提升至beta测试版本,意味着大家能够通过实际使用对其效果进行评估。 存储增强 自第一个版本开始...阅读全文

博文 2017-12-17 01:00:00 debian.cn

十个增加 Linux Shell 脚本趣味的小工具

: Temperature/speed normal Apr 20 00:12:20 vivek-desktop mysqld: Database Server failed 8. setterm 命令 这个命令可以设置中断的属性。下面的例子是强制屏幕黑15分钟,并且60分钟后把显示器设为待机状态: setterm -blank 15 -powersave powerdown -powerdown 60 下面这段命令可以在中断显示加下划线的文字: setterm -underline on; echo "Add Your Important Message Here" setterm -underline off 或者你可以关闭光标: setterm -cursor off 9. smbclient:向 MS...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Terraform 学习总结 — Terraform 简介

前言 在 DevOps 实践中,基础设施即代码如何落地是一个绕不开的话题。像 Chef,Puppet 等成熟的配置管理工具,都能够满足一定程度的需求,但有没有更友好的工具能够满足我们绝大多数的需求?笔者认为 Terraform 是一个很有潜力的工具,目前各大云平台也都支持的不错,尤其是使用起来简单明了。本文会简单的介绍一下 Terraform 相关的概念,然后通过一个小 demo 带大家一起进入 Terraform 的世界。说明:本文的演示环境为 ubuntu 16.04。 Terraform 是什么? Terraform 是一种安有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 "Write, Plan, and create...阅读全文

Debian 10使用 Wine 安装配置微信、QQ与TIM

Serif"="simsun" "MS Shell Dlg"="simsun" "MS Shell Dlg 2"="simsun" "System"="simsun" "Tahoma"="simsun" "Times"="simsun" "Times New Roman CE,238"="simsun" "Times New Roman CYR,204"="simsun" "Times New Roman Greek,161"="simsun" "Times New Roman TUR,162"="simsun" "Tms Rmn"="simsun" 文章wine中文乱码的解决同样是部换成simsun的reg注册表设置,不过设置更短,如下所示:笔者试过也没有问题。 REGEDIT4...阅读全文

监控Kubernetes集群证书过期时间的三种方案 - OSCHINA

-certificate-exporter监控集群所有node的 /etc/kubernetes/pki 和 /var/lib/kubelet 下的证书以及 kubeconfig 文件 优势: 可以监控所有 node, 所有 kubeconfig 文件, 以及 所有 tls 格式的 secret 证书, 如果要监控 Kubernetes 集群以外的证书, 也可以如法炮制; 范围广而; 需要额外安装: x509-certificate-exporter, 对应有 1 个 Deployment 和 多个 DaemonSet, 对 Kubernetes 集群的资源消耗不少. 可以根据您的实际情况灵活进行选择. 🎉🎉🎉 📚️参考文档 如何使用 Blackbox Exporter 监控 URL? - 东风微鸣技术...阅读全文

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

Kubernetes v1.21 新特性预览

Kubernetes v1.21 下个月就要发布了(v1.21.0 将于 4 月 8 日发布),本文梳理该版本带来的新特性,以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy(PSP)是 Kubernetes 1.8 开始就支持的 Beta 特性,大量应用于容器的安策略控制。但由于其 API 不够灵活、认证模型不够完善且配置更新繁琐等缺陷,PodSecurityPolicy 将在 v1.21 正式弃用[1],并将在 v1.25 中从代码库中删除。已经使用 PodSecurityPolicy 的用户建议迁移到 Gatekeeper[2]。不可变 ConfigMap/Secret 进入稳定版当集群包含大量 ConfigMap 和...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

为何说微软不会基于Linux内核重构Windows

播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。 2.兼容性 目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。 Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已记录的 syscalls 以及大约 1700 个已记录的 Win32 API 调用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完超过了 Wine 提供的修正贡献。 Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层...阅读全文

博文 2020-10-15 14:59:58 debian.cn

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

-versions #### API kubectl get events #### 查看事件 kubectl get nodes //获取部节点 kubectl delete node k8s2 //删除节点 kubectl rollout status deploy nginx-test 创建 kubectl create -f ./nginx.yaml #### 创建资源 kubectl create -f . #### 创建当前目录下的所有yaml资源 kubectl create -f ./nginx1.yaml -f ./mysql2.yaml #### 使用多个文件创建资源 kubectl create -f ./dir #### 使用目录下的所有清单文件来创建资源 kubectl...阅读全文

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

理解 Linux 的虚拟内存

。 内存寻址和分配 我们知道通过虚拟内存机制,每个进程都以为自己占用了部内存,进程访问内存时,操作系统都会把进程提供的虚拟内存地址转换为物理地址,再去对应的物理地址上获取数据。CPU 中有一种硬件,内存管理单元 MMU(Memory Management Unit)专门用来翻译虚拟内存地址。CPU 还为页表寻址设置了缓存策略,由于程序的局部性,其缓存命中率能达到 98%。 以上情况是页表内存在虚拟地址到物理地址的映射,而如果进程访问的物理地址还没有被分配,系统则会产生一个缺页中断,在中断处理时,系统切到内核态为进程虚拟地址分配物理地址。 功能 虚拟内存不仅通过内存地址转换解决了多个进程访问内存冲突的问题,还带来更多的益处。 进程内存管理 它有助于进程进行内存管理,主要体现在: 内存完整性:由于...阅读全文

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

域名与商标: 如何防止域名被仲裁

域名,是用以简化记录服务器IP地址的马夹,所以,域名只有通过解析到具体的IP地址才能访问网站,就相当于给IP地址穿上的一件马夹,避免我们去记那一长串的数字。可以说,域名的价值是依托于服务器的,没有域名的服务器,可以用IP地址访问,而不解析的域名,就仅仅只是一串字符而已。 商标,是用以区分商品(或服务)来源的一种显著标志,不同公司提供的相同商品,对于大众而言,商品上印刷的标志,代表的就是不同公司。商标的价值,是依托于产品和公司的。 由这一点来看,商标和域名是有其相似性的,广义上来说,它们都是一种指代的符号而已。 但是,域名由于其技术特性,它是虚拟的和球唯一的,同样的域名不可能同时被两个人注册,它遵循着先注先得的原则,而商标,则允许在不同领域,由不同的人持有相同的商标,比如中国的“中华...阅读全文

博文 2019-01-18 14:59:59 debian.cn

Golang 操作 Kafka 样例

partition,又没有设置key,则会采用轮询⽅式,即每次取一小段时间的数据写入某 个partition,下一小段的时间写入下一个partition 复制代码 2.1.4. ACK应答机制 producer在向kafka写入消息的时候,可以设置参数来确定是否确认kafka接收到数据,这个参数可设置 的值为 0,1,all 0代表producer往集群发送数据不需要等到集群的返回,不确保消息发送成功。安性最低但是效 率最高。 1代表producer往集群发送数据只要leader应答就可以发送下一条,只确保leader发送成功。 all代表producer往集群发送数据需要所有的follower都完成从leader的同步才会发送下一条,确保 leader发送成功和所有的副本都完成备份。安性最⾼高,但是效...阅读全文

博文 2023-01-10 13:46:09 掘金

最全 MongoDB 基础教程

: } ) query: update的查询条件,类似sql update查询内where后面的 update: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入 multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录部更新 writeConcern: 可选,抛出异常的级别 案例 db.ruochen.insert({ title: 'mongodb', description: 'Nosql 数据库', by...阅读全文

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

协议介绍之深入了解 gRPC

大的提高一条连接上面的 stream 并发,可以考虑调大 SETTINGS_MAX_CONCURRENT_STREAMS,在 TiKV 里面,我们就遇到过这个值比较小,整体吞吐上不去的问题。 这里还需要注意,虽然一条连接上面能够处理更多的请求了,但一条连接远远是不够的。一条连接通常只有一个线程来处理,所以并不能充分利用服务器多核的优势。同时,每个请求编解码还是有开销的,所以用一条连接还是会出现瓶颈。 在 TiKV 有一个版本中,我们就过分相信一条连接跑多 streams 这种方式没有问题,就让 client 只用一条连接跟 TiKV 交互,结果发现性能完没法用,不光处理连接的线程 CPU 跑满,整体的性能也上不去,后来我们换成了多条连接,情况才好转。 Priority 因为一条连接允许多个...阅读全文

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

Cortex: 高可用和水平扩展Prometheus监控系统

Prometheus已成为cloud-native世界中的默认监控应用程序和系统。对于真是使用案例,Prometheus应该是高可用的,这是有挑战的。一旦在高可用性模式下运行Prometheus,就会遇到很多问题,例如数据重复,为重复数据实现single pane等。为了解决此问题,Cortex诞生了。Cortex是一个CNCF sandbox project,旨在为使用Prometheus 收集的指标提供长期存储和局指标视图。首先让我们看一下Cortex的主要目标,然后看一下它为Prometheus解决的一些问题。水平可伸缩性– Cortex可以分成多个微服务,每个微服务都可以独立地水平伸缩。例如,如果许多Prometheus实例正在向Cortex发送数据,则可以扩展Ingester微...阅读全文

博文 2021-10-09 17:00:22 知乎

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

个容器就可以跑起来,而不用知道它的节点在哪里,即 Serverless 形态。一旦这种技术更加成熟,对容器技术的落地也有很大的推动作用。另一方面,Serverless 形态也给用户节省了大量的成本,按需付费,免去用户的运维成本。我觉得 K8S 的落地已经是个趋势了,是不可避免的,但是 K8S 本身是要往前进步,它的革命还没有完成。 容器与 Serverless:覆盖场景不同,非替换关系 记者:你觉得现在目前 Serverless 的发展对于容器这种创新技术的迭代升级有什么影响?是不是可以让容器更加的轻量化? 叶理灯:不完是这样,其实 Serverless 刚出现的时候是针对计算的。计算分很多层次,有物理机、虚拟机、容器和 Serverless。Serverless 刚出来的时候,它等同于...阅读全文

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

Monit:开源服务器监控工具

monit status # 查看所有服务状态 monit status nginx # 查看nginx服务状态 monit stop all # 停止所有服务 monit stop nginx # 停止nginx服务 monit start all # 启动所有服务 monit start nginx # 启动nginx服务 monit -V # 查看版本 配置文件 使用yum安装默认配置文件在: /etc/monitrc # 主配置文件 /etc/monit.d/ # 单独配置各项服务 为了保护控制文件和密码的安性,monitrc必须具有读写权限不超过0700(u=xrw,g=,o=)。 主配置文件主要配置局:/etc/monitrc ## Global section set daemon...阅读全文

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

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

更早之前,AMD在其EYPC系列CPU中,也用到了"黏合"这一步骤,让芯片设计成本减少一半。自家芯片的“黏合”似乎已经不成问题,那么能否从球市场上挑选出性能最优的芯片黏合在一起,创造出更强大的芯片?几周前,能够实现芯片互连的"万能胶"出现了,英特尔、AMD、台积电等芯片公司联合成立小芯片互连产业联盟,定制UCIe 1.0(Universal Chiplet Interconnect Express)标准。如果将同一家芯片公司的互连方式(例如英伟达的NVlink)视为只能黏合一种材质且功能单一的胶水,那么UCIe标准的提出则意味着能够实现各种芯片互连的芯片万能胶的雏形初现。芯片万能胶,是否已经有足够的能力替代不断微缩的晶体管,成为摩尔定律的"续命丹"?“胶水”芯片时代的真起点"胶水"芯片发...阅读全文

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

Apollo 配置中心简单介绍

=SomeCluster这里注意apollo.cluster为小写 4.3 自定义Namespace 【本节仅对公共组件配置或需要多个应用共享配置才需要,如没有相关需求,可以跳过本节】 如果应用有公共组件(如hermes-producer,cat-client等)供其它应用使用,就需要通过自定义namespace来实现公共组件的配置。 4.3.1 新建Namespace 以hermes-producer为例,需要先新建一个namespace,新建namespace只有项目的管理员才有权限,管理员可以在页面左侧看到“添加Namespace”按钮。 点击后就进入namespace添加页面,Apollo会把应用所属的部门作为namespace的前缀,如FX。 4.3.2 关联到环境和集群 Namespace创建完,需...阅读全文

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

HTTP状态码详解

,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 ‘202 Accepted’。 202 服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。 返回202状态码的响应的目的是允许服务器接受其他过程的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作部完成。在接受请求处理并返回202状态码的响应应当在返回的实体中包含一些指示处理当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户能够估计操作是否已经完成。 203 服务器已成功处理了请求,但返回的实体头部元信...阅读全文

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

提问的智慧 – 全文

文时不可复制部分或者部分引用,只能文转载。 You may not make or redistribute static copies (whether print or online) without my express permission. However, I don't like having old, stale versions of my content floating around on other peoples' sites. These rules are mainly designed to try to ensure that when some third party sees my name on a document, the content...阅读全文

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

深入了解Docker背后的namespace技术

时候,我们往往不能预想到最终结果貌。不论怎样,我们就把 CLONE_NEWNS添加到clone_flags变量中,结果就是, int clone_flags = CLONE_NEWNS | SIGCHLD;,再来编译mount.c并运行同样的命令。 > cp skeleton.c mount.c > gcc -o mount mount.c > ./mount mount 这次没有任何变化,为何?因为运行在新的mount namespace中的进程,在底层系统下仍然拥有一个/proc视图。结果就是新的进程继承了底层挂载点的视图。我们有一些方法来阻止出现这样的结果,比如说,使用 pivot_root,将在后续的博客中详细介绍。 然而,有一种方法,我们可以尝试在新的mount...阅读全文

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

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

派的运维需负责运行该系统。 老派的运维通常是伪君子。他们主张严苛的 SDLC,然后在维护基础架构时却绕过了同样的 SDLC 。新运维意味着基础架构即代码。配置变化即代码。这两个哪个也没能免于开发人员必须遵守的 SDLC。我们编纂变更请求,使用不可改变的基础架构和 AMI。没经历此进程,我们不会把改变推送到真实环境中。同样地,我们需要对合规性和其他开发人员无法产生共鸣的 SDLC 要求进行编码,编到工具和进程中。进程记录并编纂价值。 老派运维总是同精益思维不一致。它完是中断驱动——灭火后,一个接一个解决问题。同时,取得平衡非常重要。在集成环境中,使开发者团队能够 SSH 登录进 box 中或者将调试器附加到集合上,会阻止他们正确地调试应用程序吗?会促进痛苦移位吗?在运维思维和开发思维间取得平...阅读全文

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

Jono Bacon: GPL 没落了吗?

的是它不是非黑即白的,更多的时候是两者混合的灰色,很少有公司有自由软件基金会(或者类似的组织,比如软件自由保护组织)的那种纯粹的理念,因此我想那些公司也不喜欢选择和那些理念相关的协议。 我需要说明,我不是在这是说自由软件基金会以及类似的组织(比如软件自由保护组织)的错。他们有着打造完自由的软件的目标,对于他们来说,走它们选择的路十分合理。自由软件基金会以及软件自由保护组织做了了不起的工作,我将继续支持这些组织以及为他们工作的人们。我只是觉得这种对纯粹性的高要求的一个后果就是让那些公司认为自己难以达到要求,因此,他们使用了非 GPL 的其他协议。 我怀疑 GPL 的使用是随着开源软件增长而变化的。在以前,启动(开源)项目的根本原因之一是对开放性和软件自由的伦理因素的严格关注。GPL 无疑是项...阅读全文

博文 2017-08-04 08:03:43 debian.cn

Linux系统诊断-内存基础

: 表示禁止使用swap 60: 默认 100: 疯狂使用swap 2. 操作方法 # sysctl vm.swappiness=VALUE # sysctl vm.swappiness=20 或者 # echo VALUE > /proc/sys/vm/swappiness # echo 30 > /proc/sys/vm/swappiness通过在线增加swap分区大小,临时控制内存泄露,内存不够用等异常。1. 需要root用户 2. 创建存储文件 # dd if=/dev/zero of=/home/swap2G bs=1024 count=2M 3. 安设置 # chown root:root /home/swap2G # chmod 0600 /home/swap2G 4. 创建...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

Golang Context 探究

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

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

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成集群,prometheus可以remote write写入数据到任意receive节点,收到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分数据的receive节点,并将数据转发过去; 同时,receive可以配置replica数量,这样的话receive会根据哈希结果将数据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,因为监控场景没那么严谨所以基本可用即可,查询去重和归拢则部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive集群,然后让...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

发语言。早在 2016 年,基础架构团队就已经开始基于 Golang 开发内部框架 Kite,并在 2019 年围绕性能和可扩展启动重构,使其能更好地满足业务发展和技术体系演进需求。 2020 年 10 月,Kitex 正式上线。虽然是一个新的框架,但经过一年的线上应用,目前字节跳动内部已有超过 50% 的 Golang 微服务迁移到了 Kitex。 下面是 Kitex 的一些特性: 高性能:Kitex 默认集成自研网络库 Netpoll 作为网络传输模块,性能相较使用 go net 有显著优势;除了网络库带来的性能收益,Kitex 对 Thrift 编解码也做了优化,这在之前的性能优化实践文章中有介绍。关于性能数据,可参考 https://github.com/cloudwego...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区