InfraPub 为您找到相关结果 249

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

产品叫 UGC,腾讯有 FaaS,阿里也有 PaaS,目前都不算是渗透率很高。 原因有几个。第一、国内用户对新技术接受程度是比较低的,可能是习惯问题,国内的IT的发展水平跟国外也有差距,有 5、6 年差距;其次,对国内用户来说,把一个架构改成 Serverless 架构,其实成本是很高,而且改造的收益和规模相关;最后, FaaS 本身不是一个独立能起作用的产品,你会看到 Lambda 推出时,不是个独立的产品,它是体系的产品,例如其他产品要开放事件源,通过事件去触发 Lambda 函数执行。只有产品体系开放足够多的事件源,FaaS 才能渗透到整个平台里面去,才能覆盖更多场景。 我们国内的厂商还没有做到这一点。AWS 刚推出 FaaS 时,它主要是 S3 上的图片处理,不是每个用户都有这个场...阅读全文

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

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

很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工程师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是编程初学者,不知道该选择什么程序语言来入门。 你是资深的程序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种程序语言争...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

的并满足以下一个或多个条件[9]: (a) 年度收入超过2,500万美元; (b) 每年独自或与他人联合,为商业目的购买、出售、分享不少于50,000个消费者、家庭或设备的个人信息; (c) 有不少于50%的年收入来自于出售消费者个人信息;或 (d) 是处理个人信息的服务供应商。 其中,“加州消费者”的定义参照加州税法的规定。该法规定“居民”包括“以非临时目的居住在加州境内的自然人”以及“以临时目的居住在加州境外的加州居民”。[10] 与GDPR不同的是,CCPA明文指出了不受CCPA管辖的情况——即如果企业的商业行为每个方面完全在加州以外进行,则不受CCPA的管辖。 这里的“商业行为每个方面”,包括“消费者所在地”、“个人信息出售行为发生地”等方面。我们应针对这些方面对个案综合判断企业是...阅读全文

如何在 Debian 上添加和删除用户

您应该知道如何在一个新鲜的Linux服务器上执行的最基本的任务之一是添加和删除用户。当您创建一个新的系统,你往往只能给出默认root帐户。 虽然运行在root用户提供了大量的功能和灵活性,这也是危险的,可能是破坏性的。添加一个额外的,无特权的用户来执行常见任务几乎是一个更好的主意。然后,您应为系统上可能有的任何其他用户创建其他帐户。 您仍然可以获取管理员权限,当你需要他们通过一个名为机制sudo 。 在本教程中,您将学习如何创建用户帐户,分配sudo特权,和删除用户。 如何添加用户 如果您作为root用户登录,您可以创建在通过键入任何时候一个新的用户: adduser sammy 如果要在谁被赋予了非root用户登录, sudo特权,因为在证明初始服务器设置向导 ,您可以添加通过键入新用...阅读全文

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

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

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

Terraform 学习总结 — Terraform 简介

点上检查一下,发现名称为 NickResourceGroup 的 Resource Group 已经创建成功了。 结 Terraform 支持的平台非常多,像 AWS,Azure 等大厂自然是不用说了,一些小的厂商也可以通过提供 provider 支持 Terraform,从而让整个生态变得非常活跃。如果大家想在 DevOps 实践中引入基础设施即代码,无论是面对的是公有云还是私有云,相信 Terraform 都不会让你失望。...阅读全文

APISIX Ingress 如何使用 Cert Manager 管理证书

对象,并且包含新的证书。 结 本文主要讲解了如何利用 Cert Manager 在 Apache APISIX Ingress Controller 中进行证书的创建和管理。想了解更多关于 Apache APISIX Ingress 的介绍与内容,可参考本篇文章 或者参与 Apache APISIX Ingress 项目每两周举行的线上讨论,分享当下项目进度、最佳实践及设计思路等多个话题,可查看具体 issue 了解更多。...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

玩转 AWS 的必备工具

主要详细介绍Ansible和SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了...阅读全文

玩转 AWS 的必备工具

SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远程控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行程序拷贝到体目标isntances上并实行,随后根据ssh连接在远程控制服务器上启用Ansible可执行程序。Ansible应用YAML做为配备模版英语的语法。 小编在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解决构架和一...阅读全文

Docker 快速入门之 Dockerfile

, CMD, ENTRYPOINT 等指令的用户以及用户组。默认为 root 用户。语法: USER [:] 3.12 WORKDIR WORKDIR 指令用于设置 RUN, CMD, ENTRYPOINT, COPY, ADD 等指令的工作目录。语法: WORKDIR /path/to/workdir 4 结 本文从一个具体的例子出发,讲述了如何利用 Dockerfile 构建镜像,然后解释了 Dockerfile 文件中的指令的语法,有关更多内容可访问官方文档。 5 参考资料 Dockerfile reference 本文转载自 Locez.com,在原文基础上,略有增删。...阅读全文

博文 2017-12-16 13:50:31 debian.cn

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

Debian10安装wine及用wine安装微信、QQ与TIM 作者:幻影剑客 概览 本文适用于Linux发行版Debian 10,主要参考winehq官方文档Debian部分,Debian wiki的wine,还有其他网上文章。结起来,就是Debian 10的情况,要先安装faudio依赖,再安装wine官方版。安装完后要做启动配置、字体配置、输入框配置。如果想要更多功能还得做更多配置,这里没介绍了。 注意wine的每个版本甚至在不同发行版的安装都有差别,需要先看winehq官方介绍、你的Linux发行版关于wine的wiki,然后是网上其他资料。下面部分是正式安装介绍。 搞定FAudio部分依赖 winehq的Debian安装页面指出,要先安装依赖FAudio,见 官方链接。这是因为...阅读全文

2016年Linux领域的十条大新闻,你关注了吗?

。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的结,Linux成功的原因包括分布式开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心字体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文

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

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

Grafana Dashboard, 如下: Alert Rules 如下: 结 为了监控 Kubernetes 集群的证书过期时间, 我们提供了 3 种方案, 各有优劣: 使用 Blackbox Exporter 通过 Probe 监控 Kubernetes apiserver 证书过期时间; 优势: 实现简单; 劣势: 只能监控 https 的证书; 使用 kube-prometheus-stack 通过 apiserver 和 kubelet 组件监控获取相关证书过期时间; 优势: 开箱即用, 安装 kube-prometheus-stack 后无需额外安装其他 exporter 劣势: 只能监控 apiserver 和 kubelet 的证书; 使用 enix 的 x509...阅读全文

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

如何在 Debian服务器 上启用双因子身份验证

位置。emergency scratch codes 是单一的使用代码,应急时使用。即使你的手机不可用,它是允许你访问。 要将服务器注册到Authenticator App中,只需打开应用程序并点击右下角的红色加号即可。然后选择扫描条码选项,扫描打印到终端的二维码。你的服务器和应用程序现在连接。 回到服务器上,我们现在需要编辑用于 SSH 的 PAM (可插入身份验证模块),以便它使用我们刚刚安装的身份验证器安装包。PAM 是独立系统,负责 Linux 服务器上的大多数身份验证。 需要修改的 SSH PAM 文件位于 /etc/pam.d/sshd ,用以下命令编辑: vim /etc/pam.d/sshd 在文件顶部添加以下行: auth required...阅读全文

博文 2018-12-05 11:44:56 debian.cn

互联网协议正在发生变化

润滑 它。 例如,QUIC 鼓励终端在 版本协商 中使用一系列的诱饵值,来避免假设它的实现永远不变化(就像在 TLS 实现中经常遇到的导致重大问题的情况)。 网络和用户 除了避免僵化的愿望外,这些变化也反映出了网络和它们的用户之间关系的进化。很长时间以来,人们是假设网络是很仁慈好善的 —— 或者至少是公正的 —— 但这种情况是不存在的,不仅是 无孔不入的监视,也有像 Firesheep 的攻击。 因此,当那些网络想去访问一些流经它们的网络的用户数据时,互联网用户的整体需求和那些网络之间的关系日益紧张。尤其受影响的是那些希望去对它们的用户实施政策干预的网络;例如,企业网络。 在一些情况中,他们可以通过在它们的用户机器上安装软件(或一个 CA 证书,或者一个浏览器扩展)来达到他们的目的。然而...阅读全文

Debian 相比 Ubuntu 有哪些不同之处

Canonical一直在开发这个桌面。如果Canonical在营销移动设备方面取得成功,那么在未来你就能够在所有硬件上使用同一个桌面了。 然而,那些默认桌面意味着除了方便外没多大意义。Debian和Ubuntu都支持多个桌面。在Ubuntu中,桌面是半独立的发行版,包括Xubuntu for Xfce和Kubuntu for KDE。那些变种与标准的Ubuntu采用了同样的底层GNOME技术,能不能与官方版本同步不好说,时间相差不到几周。 在Debian中,桌面方面的选择大致一样,不过开发桌面的团队与开发标准Debian的团队关系比较紧密。那些版本的时间表有变化,所以是预计要花点时间在网上搜索,查一查开发结果可能让你有兴趣的团队的近况。 除了Unity外,为Ubuntu编写的大多数软件也有面向Debian...阅读全文

博文 2017-12-22 23:41:07 debian.cn

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

博文 2018-12-30 19:21:59 debian.cn

Docker 核心原理

对 Docker 的使用大部分都比较熟悉,但是说到 docker 的实现原理很多人还是一知半解。我把在团队内部做的一次 Docker 核心原理分享结到文章里,以供参考。 Docker 的优势 Build once, Run anywhere 上面这句话很精辟的结了 docker 的优点。我从下面几点具体描述 docker 带给开发者的能力 应用标准化 无论什么语言开发的应用,我们都能用 dockerfile 和构建脚本方便的进行应用构建打包,代码库 + 构建 + registry 统一了 CI/CD 流程,也提升了效率。 环境一致 由于应用和依赖全部构建成镜像,做到了一次构建多次交付,无论是开发,测试还是上线环境都是一致的。大大提高了开发效率 应用隔离 由于通过 docker 部署的应...阅读全文

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

Git 介绍与使用详解

commit 的同时,你工作目录里的新改动和已经add到stage区的新改动也一起全都消失了 git reset --soft 保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区 将 HEAD 和 branch 往回移动,就能起到撤回 commit 的效果。 reset 如果不加参数,那么默认使用 --mixed 参数,它的行为是: 保留工作目录,并且清空暂存区, git reset HEAD^ //以mixed回退到上一个版本 由 reset 所导致的新的文件差异,都会被放进工作目录,相当于回到了git add以前 之,以--hard回退,相当于丢弃新改动,以--soft回退相当于将新改动放入暂存区,以--mixed回退,相当于不关联新改动,但改动还在 git reset --hard...阅读全文

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

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

SPEC期望状态做同步。下面源码流程图可以结上述流程。 SyncPod:我做错了什么? SyncPod首先计算Pod中所有容器的当前状态与该Pod API期望状态做对比同步。这一对比同步分为两个部分: 检查podCache中的Sandbox容器的状态是否满足此条件:Pod中有且只有一个Sandbox容器,并且该容器处于运行状态,拥有IP。如不满足,则认为该Pod需要重建Sandbox容器。如果需要重建Sandbox容器,Pod内所有容器都需要销毁并重建。检查podCache中非Sandbox容器的运行状态,保证这些容器处于Pod API Spec期望状态。例如,如果发现有容器主进程退出且返回码不为0,则根据Pod API Spec中的RestartPolicy来决定是否重建该容器。 回顾前面提到...阅读全文

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

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

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

退出的时间进行排序优先删除退出时间最久的,MaxPerPodContainer 在上文已经提过,表示一个 pod 最多可以保存多少个已经停止的容器,默认为1,可以使用 --maximum-dead-containers-per-container 在启动时指定;4、若 kubelet 启动时指定了 --maximum-dead-containers(默认为 -1 即不限制),即需要为 node 保留退出的容器数,若 node 上保留已经停止的容器数超过 --maximum-dead-containers,首先计算需要为每个 pod 保留多少个已退出的容器保证其数不超过 --maximum-dead-containers 的值,若计算结果小于 1 则取 1,即至少保留一个,然后删除每个...阅读全文

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

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

,但是按照我当时的理解,说不清这个概念,我现在也不一定说清这个概念。第二个问题就是:你愿意做外包么?我回答不愿意。 最后女 HR 和光头说,你等一等,我们合计合计。合计的结果就是,我进来了,进来的不容易。可能还多亏当年扩招。现在我们面试的时候,我们也经常说:要是按照现在的面试要求,那么我肯定进不来。 这就是一段比较有意思的经历,当我妻子比较犹豫的时候,经常对妻子讲:日子是越来越好。我的经历也可以看出很多。 所以,失败不可怕,需要最自己、未来充满信息。努力去学习。 脚踏实地,如饥似渴,积少成多 于是进入了支付宝,支付宝好复杂。有很多东西给我学。 光头老大给有次问我:你的学习计划是什么呢? 我说:我要把支付宝的所有框架,业务都学习一遍(真不知天高地厚) 老大说:你学的完吗? 我说:我看了下确实很...阅读全文

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

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

、Hyperloglogs等。 Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持本集和通过Redis Sentinel实现的高可用方案,同时还支持通过Redis Cluster实现的数据自动分片能力。 Redis的主要功能都基于单线程模型实现,也就是说Redis使用一个线程来服务所有的客户端请求,同时Redis采用了非阻塞式IO,并精细地优化各种命令的算法时间复杂度,这些信息意味着: Redis是线程安全的(因为只有一个线程),其所有操作都是原子的,不会因并发产生数据异常 Redis的速度非常快(因为使用非阻塞式IO,且大部分命令的算法时间复杂度都是O(1)) 使用高耗时的Redis命令是很危险的,会占用唯一的一个线程的大量处理时间,导致所有的请求都被拖慢。(例如时间复杂度为O(N)的...阅读全文

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

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

并不太适用于较短会话的应用层协议,如HTTP;此算法是动态的, 可以在运行时调整其权重; 3.14 source:将请求的源地址进行hash运算,并由后端服务器的权重数相除后派发至某匹配的服务器;这可以使得同一个客户端IP的请求始终被派发至某特定的服务器;不过,当服务器权重数发生变化时,如某服务器宕机或添加了新的服务器,许多客户端的请求可能会被派发至与此前请求不同的服务器;常用于负载均衡无cookie功能的基于TCP的协议;其默认为静态,不过也可以使用hash-type修改此特性; 1,对原地址hash,第一次调度时使用WLC source:IP层,位于同一个NAT服务器背后的多个请求都会定向至同一个upstream server,不利于负载均衡,一般只有不支持使用cookie插入又需要...阅读全文

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

Apollo 配置中心简单介绍

。 Config config = ConfigService.getConfig("FX.Hermes.Producer"); 对这种情况的配置获取规则,简而言之如下: 首先获取当前应用下的FX.Hermes.Producer namespace的配置然后获取hermes应用下FX.Hermes.Producer namespace的配置上面两部分配置的并集就是最终使用的配置,如有key一样的部分,以当前应用优先 图示如下: 通过这种方式,就实现了对框架类组件的配置管理,框架组件提供方提供配置的默认值,应用如果有特殊需求,可以自行覆盖。 4.5 体设计 上图简要描述了Apollo的体设计,我们可以从下往上看: Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端...阅读全文

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

Apache Flink 1.14 新特性预览 - OSCHINA

摘要: 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的《Flink 1.14 新特性预览》。主要内容为: 简介 流批一体 Checkpoint 机制 性能与效率 Table / SQL / Python API 结 此文章为 8 月 7 日的分享整理,1.14 版本最新进展请注意文中的注释说明。 一、简介 1.14 新版本原本规划有 35 个比较重要的新特性以及优化工作,目前已经有 26 个工作完成;5 个任务不确定是否能准时完成;另外 4 个特性由于时间或者本身设计上的原因,会放到后续版本完成。[1] 1.14 相对于历届版本来说,囊括的优化和新增功能点其实并不算多。通过观察发版的节奏可以发现,通常在 1...阅读全文

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

aptitude 与 apt

,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是作者结的一些常用 aptitude 命令,仅供参考, aptitude update 更新可用的包列表aptitude upgrade 升级可用的包aptitude dist-upgrade 将系统升级到新的发行版aptitude install pkgname 安装包aptitude remove pkgname 删除包aptitude purge pkgname 删除包及其配置文件aptitude search string 搜索包aptitude show pkgname 显示包的详细信息aptitude clean 删除下载的包文件aptitude autoclean 仅删除过期的包...阅读全文

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

Intel 为啥要给 ARM 代工

制造工艺就和 Intel 的 14nm 制造工艺有不小的差距。而最新高通骁龙 835 采用的三星 10nm 制造工艺,也未必能胜过 Intel 的 14nm 制造工艺。 不过,虽然 intel 有全球顶尖的制造工艺,但除了一些小厂商,或者像被 Intel 收购的阿尔特拉这类 IC 设计公司之外,Intel 鲜有大规模为其他厂商代工。 GPU 行业领头羊英伟达公司的黄仁勋就曾经表示:Intel 应该利用自己高级半导体工艺的优势为 NVIDIA、高通、苹果和德州仪器代工芯片,而不是自己瞎鼓捣移动芯片。然而,Intel 的代工业务规模很小,前 Intel 发言人 Jon Carvill 也曾表示:Intel 目前的重点是设计自己的产品,而非为竞争对手代工。 之,虽然 Intel 空有最先进的半导...阅读全文

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

谷歌元老施密特隐退:传奇落幕 新篇开启

前谷歌 CEO ,现谷歌母公司 Alphabet 董事会执行主席埃里克·施密特(Eric Schmidt)将卸任,这位一手将谷歌从一个两百名员工的小公司拉扯成世界科技巨头的功臣终于“退休”了。可能有些朋友就问了,他是谷歌创始人吗?真有这么高的地位?可能真正了解施密特和谷歌的人并不多,或许今天我们应该来聊聊这家和我们熟悉又陌生的公司。 施密特并非谷歌创始人 首先,施密特是谷歌创始人吗?他并不是,谷歌的创始人只有两个:谢尔盖·布林(Sergey Brin)和拉里·佩奇(Larry Page),但是当我们提起施密特时,会说“没有他就没有谷歌”。如此高的评价也能够体现他对谷歌的重要性了,你看即使库克非常给力,也不会有人说没有库克就没有苹果,大家都知道苹果的灵魂人物只有乔布斯。 言归正传,施密特作...阅读全文

博文 2017-12-24 09:18:44 debian.cn

架构师详解 Nginx 架构

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

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

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

。 ceph-mgr还包括一个Prometheus插件。 ceph-mgr现在有一个Zabbix插件。使用zabbix_sender,它可以将集群故障事件发送到Zabbix Server主机。 这样可以方便地监视Ceph群集的状态,并在发生故障时发送通知。 集群的体可扩展性有所提高。我们已经成功测试了多达10,000个OSD的集群。 目前,每个OSD都具有与其相关联的设备类(例如,hdd或ssd),允许CRUSH规则将数据简单地映射到系统中的设备的子集。 通常不需要手动编写CRUSH规则或手动编辑CRUSH。可以优化CRUSH权重,以保持OSD之间数据的近乎完美的分布。 还有一个新的upmap异常处理机制,允许单个PG移动以实现完美的分发(这需要客户端)。 每个OSD目前可以根据后端设备是HDD还是...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

nasty issues for obvious reasons. Setting MALLOC_ARENA_MAX to a low number will restrict the number of memory arenas and bound the virtual memory, with no noticeable downside in performance – we’ve been recommending MALLOC_ARENA_MAX=4. We should set this in hadoop-env.sh to avoid this issue as RHEL6 becomes more and more common. 结一下,glibc为了分配内存的性能的问题...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Golang Context 探究

, err error) { // 直接调用 cancelCtx 的取消方法 c.cancelCtx.cancel(false, err) if removeFromParent { // 从父节点中删除子节点 removeChild(c.cancelCtx.Context, c) } c.mu.Lock() if c.timer != nil { // 关掉定时器,这样,在deadline 到来时,不会再次取消 c.timer.Stop() c.timer = nil } c.mu.Unlock() } 结:context 实现取消和定时取消的核心是 context.cancelCtx 和 context.timerCtx。 context 传递数据 context.valueCtx 在...阅读全文

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

聊聊很重要的内核技术eBPF

,eBPF程序可以调用帮助函数,该函数是内核提供的众所周知且稳定的API。 结 安全,网络,负载均衡,故障分析,追踪等领域都是eBPF的主战场。对于云原生领域,Cilium 已经使用eBPF 实现了无kube-proxy的容器网络。利用eBPF解决iptables带来的性能问题。 整个eBPF生态发展比较好,社区已经提供了诸多工具方便大家编写自己的eBPF程序。...阅读全文

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

Jono Bacon: GPL 没落了吗?

论使用的协议会发生怎样的变化,技术确实变得更加开放,可以接触,人人都能使用。 作者简介:Jono Bacon - Jono Bacon 是一位领袖级的社区管理者、演讲者、作者和播客主。他是 Jono Bacon 咨询公司的创始人,提供社区战略和执行、开发者流程和其它的服务。他之前任职于 GitHub、Canonical 和 XPRIZE、OpenAdvantage 的社区监,并为大量的组织提供咨询和顾问服务。...阅读全文

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

下一代时间同步服务 Chrony 详解

的时间间隔是 64.1s。以上结果中的其它参数的含义分别是: 引用 ID - 计算机当前同步的引用 ID 和名称。Stratum - 连接参考时钟的计算机的跳数。参考时间 - 这是参考源的最后一次测量的 UTC 时间。系统时间 - 来自同步服务器的系统时钟延迟。最后一次偏移 - 上次时钟更新的估计偏移量。RMS 偏移 - 偏移值的长期平均值。频率 - 如果 chronyd 没有纠正它,那么系统的时钟错误的速率。它以 ppm (百万分率)提供。残余频率 - 残余频率表示参考源的测量值与当前使用的频率之间的差异。偏斜 - 估计频率的误差界限。根延迟 - 网络路径延迟到计算机正在同步的层计算机的和。跳跃状态 - 这是跳跃状态,可以具有以下值之一:正常、插入秒、删除秒或不同步。显示所有 NTP 源...阅读全文

博文 2021-01-04 08:41:14 debian.cn

最全的 DevOps 工具集合

本文最初发布于 Better Programming 博客,经原作者授权由 InfoQ 中文站翻译并分享。 随着 DevOps 的出现频率越来越高,很多企业都在蠢蠢欲动,想要设计和开发 DevOps 平台。工欲善其事必先利其器,本文为大家结了 DevOps 各个阶段可以选择的工具,也许 DevOps 平台的技术选型在这一篇文章中就可以完成。 DevOps 的目标是持续改进,因此技术选型也是分阶段的。 DevOps 技术类别 规划工具 在规划阶段最重要的是要制定共同的目标、保证透明度和赋权。目前业内比较常用的规划工具主要包括 GitLab、TaskTop、CollabNet VersionOne、Pivotal Tracker、Trello 和 Azure Boards。 GitLab...阅读全文

博文 2021-05-26 14:35:21 博客园

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

Debian 在他离开之后还能持续发展非常欣慰。 我是说,我离开 Debian 这个项目之后才发现这个项目肯定会成功。因为我的离开意味着 Debian 将会自生自灭自力更生,它将在没有我的情势下独立发展。事实证明它做到了,而且不仅仅是生存下来了,还做到了大范围的推广普及。对此我非常自豪。 2016 年的今天,我们终于发现 Murdock 是多么有先见之明。最近的 GNU/Linux 发展史家谱明确地告诉了我们 Debian 在免费软件领域究竟有多大的影响力,开发 Debian 的那位伟人对此做出了多大的贡献。 本文转载自: http://tech2ipo.com/10027118,英文原文参考这里。...阅读全文

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

如何使用 journalctl 清理 journal 日志

件。 换句话说, 日志目录中不应该存在后缀名不等于 ".journal" 或 ".journal~" 的文件, 因为这些文件永远不会被清理。 SystemMaxUse= 与 RuntimeMaxUse= 限制全部日志文件加在一起最多可以占用多少空间。 SystemKeepFree= 与 RuntimeKeepFree= 表示除日志文件之外,至少保留多少空间给其他用途。 systemd-journald 会同时考虑这两个因素, 并且尽量限制日志文件的大小,以同时满足这两个限制。 SystemMaxUse= 与 RuntimeMaxUse= 的默认值是10%空间与4G空间两者中的较小者; SystemKeepFree= 与 RuntimeKeepFree= 的默认值是15%空间与4G空间两者中...阅读全文

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

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

。Debian 在一些时候想要得到最大程度上的‘同意’,但百分百的一致是不可能实现的,是会有人不满意。” Joey Hess 认为,Debian 缓慢的决策机制是结构性的。 2021年10月5日,Russ Allbery 为改革决策机制拿出了一个提案: 首先,为了技术委员会更加透明、公平,Allbery 提议了一个新流程。新流程将允许任一位成员要求对一项公开决议进行表决,并立即开始投票。但是,如果有任何一位其他成员在 24 小时内对投票提出反对,那么这次投票将被取消。(如果这条规则在 systemd 的争论期间就已经存在的话,那么就不会产生让决议匆忙作出的投票了。) 其次,投票需要在这个决议首次被提出的两周后开始,如果到那时还没有人能成功地发起投票,则自动开始投票。这样一来,发起表决就不会拖得太久...阅读全文

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

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。 特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

深入理解Golang之context

Server、Connection、Request,不仅将上游的信息共享给下游任务,同时实现了上游可发送取消信号取消所有下游任务,而下游任务自行取消不会影响上游任务。结context主要用于父子任务之间的同步取消信号,本质上是一种协程调度的方式。另外在使用context时有两点值得注意:上游任务仅仅使用context通知下游任务不再需要,但不会直接干涉和中断下游任务的执行,由下游任务自行决定后续的处理操作,也就是说context的取消操作是无侵入的;context是线程安全的,因为context本身是不可变的(immutable),因此可以放心地在多个协程中传递使用。参考资料1、Package context2、Go Concurrency Patterns: Context3...阅读全文

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

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

是看顶层的哪个函数占据的宽度最大。只要有"平顶"(plateaus),就表示该函数可能存在性能问题。 颜色没有特殊含义,因为火焰图表示的是 CPU 的繁忙程度,所以一般选择暖色调。 三、互动性 火焰图是 SVG 图片,可以与用户互动。 (1)鼠标悬浮 火焰的每一层都会标注函数名,鼠标悬浮时会显示完整的函数名、抽样抽中的次数、占据抽样次数的百分比。下面是一个例子。 mysqld'JOIN::exec (272,959 samples, 78.34 percent) (2)点击放大 在某一层点击,火焰图会水平放大,该层会占据所有宽度,显示详细信息。 左上角会同时显示"Reset Zoom",点击该链接,图片就会恢复原样。 (3)搜索 按下 Ctrl + F 会显示一个搜索框,用户可以输入关键词...阅读全文

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

Monit:开源服务器监控工具

不指向目录,monit将禁用对此条目的监视。如果Monit在被动模式下运行或者没有定义启动方法,Monit只会在错误时发送警报。 远程主机 CHECK HOST ADDRESS 主机地址可以指定为主机名字符串或点分十进制格式的IP地址字符串。例如,tildeslash.com或“64.87.72.95”。 系统 CHECK SYSTEM 的唯一的名称通常是本地主机名,而是可以使用任何描述性名称。如果使用变量$ HOST作为名称,它将扩展为主机名。此检查允许监控一般系统资源,如CPU使用率,内存使用或负载平均。该唯一名称在邮件警报中用作系统主机名,在M/Monit中用作主机条目的初始名称。 自定义...阅读全文

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

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

库提供商,将那台Redis最近一周的命令全部调用出来,最后发现,在那个时间点运行了一条keys *...*命令。公司的一个工程师执行keys模糊的匹配命令是为了清理没用的键,但是没有考虑到keys *进行模糊匹配引发Redis锁,造成Redis锁住,CPU飙升,引起了所有调用链路的超时并且卡住,等Redis锁的那几秒结束,所有的请求流量全部请求到RDS数据库中,使数据库产生了雪崩,使数据库宕机。 改进方案 所有线上操作,全部要经过运维通过后方可执行,运维部门逐步快速收回各项权限 新增Redis实例,进行分离 如果有使用类似keys正则命令需求,使用scan命令代替 结 该事件中出现的两次事故,完全是由于人为操作引起的,如果那位工程师,看过Redis的开发规范,会发现是建议禁用keys命令的...阅读全文

博文 2018-10-27 10:18:18 debian.cn

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

,专门为具体产业调整基础模型?提示词工程(Prompt Engineering,修改向AI输入的任务描述,使AI的输出结果更符合用户的需求)将来会不会成为企业的内部职能? Sam Altman:五年后我们将不再需要提示词工程,或者只需在这方面做少量工作。将来的AI系统不会因为增补了某个特定词就会产生截然不同的输出,而是可以较好地理解自然语言,用户只需以文本和语音形式输入指令,即可让计算机完成图像生成、资料研究、心理咨询等复杂任务。 的来说,用户只须使用自然语言就可以与计算机交互,当然,如果艺术家能想出更有创造性的描述,也自然就可以生成更好的图像。 2 “AI+”时代:AI for Science、元宇宙 Reid Hoffman:在科学领域,AI模型可以发挥什么作用? Sam Altman...阅读全文

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

7大维度看国外企业为啥选择gRPC打造高性能微服务

源gRPC生态系统 列出了许多gRPC激动人心的项目。 另外,gRPC有我们认同的原则 Lyft在转向gRPC方面做了大量的讨论,这与我们的经验非常相似:使用Protocol Buffers和gRPC生成统一的API。值得一试。 gRPC现在还处于初期阶段,存在一些明显的磨合问题,但未来前景光明。的来说,我们对gRPC如何整合到后端系统非常乐观,并且很高兴见证这个框架的发展。 原文链接: blog.bugsnag.com/ 本文转自:Segmentfault.com...阅读全文

博文 2018-03-19 17:51:32 debian.cn

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

){ pollfds[0].revents = 0; ret = recv(connfd,buff,sizeof(buff)-1,0); printf("receive %d bytes from client: %s \n",ret,buff); } } 由于源码中,我做了比较详细的注释,同时将和select模型不一样的地方都列了出来,这里就不再详细解释了。体说来,poll模型比select模型要好用一些,去掉了一些限制,但是仍然避免不了如下的问题: 用户态和内核态仍需要频繁切换,因为revents的赋值是在内核态进行的,然后再推送到用户态,和select类似,整体开销较大。 仍需要遍历数组,时间复杂度为O(N)。 epoll模型 如果说select模型和poll模型是早期的产物,在性能上有诸多不尽人意之...阅读全文

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