Debian 爱好者社区 为您找到相关结果 221

架构师详解 Nginx 架构

一个待处理事件的列表,使用非阻塞 I/O 方式调用“事件处理器”来处理该请求。其处理方式称为“多 IO 复用方法”,常见的包括以下三种:select 模型、poll 模型、epoll 模型。 针对上面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:433540541,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 四. Nginx 设计架构 Nginx 服务器使用 master/worker 多进程模式。多...阅读全文

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

在TKE上使用Kubecost进行成本管理

kubecost -o wide ``` 执行结果如下图所示: ![img](https://main.qcloudimg.com/raw/bff2c85ed8a62458d90a5b06580bb5ed.png) ### 更改服务访问方式 1. 登录 [容器服务控制台](https://console.cloud.tencent.com/tke2/cluster)。 2. 单击对应的集群 ID/名称,进入集群管理页面。 3. 单机**服务和由** > **Service**进入 Service 页面。 4. 找到您想要更改的 Service,在其右侧操作栏下单击**更新访问方式**进入更新访问方式页面。 ![](https://main.qcloudimg.com/raw...阅读全文

Linux系统诊断-内存基础

谈及linux内存,很多时候,我们会关注free,top等基础命令。当系统遇到异常情况时,内存问题的根因追溯,现场诊断时,缺乏深层次的debug能力。本篇幅不做深层讨论,能把当前系统的问题描述清楚,是每个SRE应该具备的最基础能力。free========2.1 free命令原理free是通过查看 /proc/meminfo 来获取内存的使用情况。但是 /proc/meminfo 这个文件又是怎么来的?我们先了解下 /proc 目录:/proc 是一个虚拟文件系统,该目录下的所有文件都是伪文件,该类文件只存在于内存中,并不占用空间——使用 du -sh 即可验证,该模具下的磁盘占用都是0。/proc 下的所有文件都是内核调用proc_create() 接口来创建的虚拟条目。/proc 中...阅读全文

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

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

资源,从而获取虚拟货币的一种程序,需要较高的硬件配置及用电量。 而单凭一个矿工的力量是挖不到比特币的。于是“安某”便想到可以利用自己的职务之便利用百度的服务器来开启自己的发家致富之,只是他可能没想到的是事情会败露的这么快。 那么,他具体是怎么做的呢? 首先,他用自己的工作账户上传了一个压缩文件 miner.tar.gz ,其中包含一个名为 java_4u3 的脚本, 而这个脚本可以自动执行解压缩、创建目录、删除目录、自动连接代理进行网络交换,达到控制服务器的目的。 然后,编译了一个挖矿程序,并将上述程序部署非法控制了百度的 155 台服务器上,利用公司为其配备的苹果电脑上的 iterm 软件控制所有服务器的中控机,通过中控机上传挖矿脚本,并通过 iterm 软件发出批量下载指令,让 200...阅读全文

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

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

,例如 Pod Yaml 容器挂载配置跟 PodPreset 容器挂载配置为同一径时,会报错提示冲突。 最后要提一下注意的问题: 目前 PodPreset 的预设功能这块还在演进中,不过已经能大大简化了相关的管理工作,将这些公用配置从开发者手中分离出来,变成系统管理配置。PodPreset 是 Namespace 级别的对象,其作用范围只能是同一个命名空间下容器。目前为 v1alpha1 版本,还不成熟,例如当我们对已创建的 PodPreset 执行非常少量的修改时,重新 apply 或者 replace 时,服务端并没有更新过来(亲测会有问题,只能删除重建),大家可以自己尝试下。 参考资料 PodPreset DocEnable PodPreset...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Go 语言的大版本更新:Go 2.0 安排上了

1确保提案所做的任何变更都可以帮助到尽可能多的 Go 开发者(使他们编写的代码更健壮、正确性更高等),条件2则保证了变更将给使用者带来的影响降到最低。 至于条件3,如果提案不能满足该条件,它将不会被实现。即便这项提案能够解决一个很重要的问题,思也很好,但在没有实现方案的情况下,它将会被拒绝,并需要重新起草。 下一步 在这篇文章发布时,Go 开发团队表示已经执行提案评估流程的第一步,并开始了流程的第二步,关于具体的提案可点此进行查看。 对于 Go 开发团队已经明确并通过的提案,将会继续实现(即评估流程的第3步)。开发团队表示希望在下一个发布周期的第一天(暂定于2019年2月1日)完成这些提案变更的实现,所以这次可能会在较早的时间开始进行,以留出两个月的反馈时间(2018年12月至2019年1...阅读全文

提问的智慧 – 全文

这还差点什么?」,「我应该查哪个网站?」,通常要比「请给出我可以用的解决方案」更容易得到回复,因为你的行为表明一种积极的态度:只要有人能为我指明方向,我就会很乐意自己走完剩下的。 提问时 认真选择论坛 谨慎地要选择提问的地方,如果你做了下述事情,多半会被忽视或被看成loser: 张贴与论坛主题无关的问题; 在面向高级技术问题的论坛上张贴初级的问题,反之亦然; 在不同的论坛或讨论小组同时张贴同一个问题; 向非熟人或没有义务解决你问题的人发送私人问题邮件。 为防止论坛被灌水,黑客们(论坛管理员)会删掉那些与论坛及主题无关的问题,你不想自己的问题被删掉吧。 因此,第一步是找到正确的提问论坛。谷歌和其它搜索引擎是你好帮手,当你遇到问题时,它们可以帮你搜索到与问题最相关的网站或者论坛。那里通常都会有...阅读全文

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

2017 年会是 Serverless 爆发之年吗

调用相关的服务即可。Serverless 是一种构建和管理基于微服务架构的完整流程,允许我们在服务部署级别而不是服务器部署级别来管理应用部署,甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地交付软件。 这种新兴的云计算服务交付模式为开发人员和管理人员带了很多好处。它提供了合适的灵活性和控制性级别,因而在 IaaS 和 PaaS 之间找到了一条中间道。由于服务器端几乎没有什么要管理的,Serverless 架构正在彻底改变软件开发和部署流程,比如推动了 NoOps 模式的发展。 转自 http://www.infoq.com/cn/news/2017/04/2017-Serverless...阅读全文

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

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

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

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

Gitlab CI 配置文件 .gitlab

。 默认情况下,job artifacts 只正对成功的jobs收集。 artifacts用于指定成功后应附加到job的文件和目录的列表。只能使用项目工作间内的文件或目录径。如果想要在不通的job之间传递artifacts,请查阅依赖关系。以下是一些例子: 发送binaries和.config中的所有文件: artifacts: paths: - binaries/ - .config 发送所有没有被Git跟踪的文件: artifacts: untracked: true 发送没有被Git跟踪和binaries中的所有文件: artifacts: untracked: true paths: - binaries/ 定义一个空的dependencies可以禁用artifact传递: job...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

Git 介绍与使用详解

,代码重新检查,避免修改问题引发新的问题 3.6撤销提交(reset) 当发现这一次commit的内容是有错误的,有两种处理方法: 1、修改错误内容,再次commit一次 2、使用git reset 命令撤销这一次错误的commit 第一种方法比较直接,但会多次一次commit记录,而且有可能改错 推荐第二种方法,因为错误的commit没必要保留下来,还原到上一次也能保证正常工作 git commit提交后的结果 重置有三种模式:soft,mixed,hard git reset --hard HEAD 重置stage区和工作目录,就是没有commit的修改会被全部擦掉,适用于重新理清思 git reset --hard HEAD^ 将你的 HEAD 和当前 branch 切到上一条...阅读全文

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

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

决定离开贡献18年之久的 Debian。促使他离开的直接原因是,Debian 社区对于是否接受 systemd(一种 init 进程)争执不下。这件事引起了 Debian 内部长达数年的争论,至今仍然没有定论。 当然,systemd 事件仅仅是一个引子,Joey 已经感受到了 Debian 社区背后所隐藏的某种“病态”。 “ 我第一次感觉到 Debian 的这种(病态),是在 Debian 改变‘ /usr/doc’这一错误的文件保存径(系统文件的标准要求被保存在‘usr/share/doc’中)的时候,完成这样一个再简单不过的操作更改,Debian 居然花了6年之久。” 在 Joey Hess 看来,这实在太荒诞了。 要知道,Joey 并不是为此离开的第一位前辈。此前,Matthew...阅读全文

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

DPDK Graph Pipeline 框架简介与实现原理

。 init 函数的一些实际可以是配置由表、定义 ACL 规则等。 Node 的注册 node 的注册是通过 contructor scheme 的 (attribute((constructor)))来完成的。下面显示了一个非常简单的 node 注册示例。需要强调的是: .process 的函数定义突出了向量数据包处理的概念 (需要处理的报文 (**objs) 及其数量 (nb_objs))。 /** * @param objs * Pointer to an array of objects to be processed. * @param nb_objs * Number of objects in the array. * */ /* This hello world node...阅读全文

博文 2023-02-09 07:13:55 掘金

Apache Kafka发布 3.0 正式版

能够通过一次调用重新启动所有或仅失败的连接器Connector和Task实例。此功能是附加功能,restartREST API的先前行为保持不变。KIP-738:删除 Connect 的内部转换器属性在之前的主版本 ( Apache Kafka 2.0 ) 中弃用它们之后,internal.key.converter并internal.value.converter在 Connect 工作器的配置中作为配置属性和前缀被删除。展望未来,内部 Connect 主题将专门使用JsonConverter来存储没有嵌入模式的记录。任何使用不同转换器的现有 Connect 集群都必须将其内部主题移植到新格式(有关升级径的详细信息,请参阅KIP-738)。KIP-722:默认启用连接器客户端覆盖从...阅读全文

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

中国开源人访谈系列之:清风博主

Gentoo中文社区,一开始想法挺多,也做了点工作。不过,由于个人技术水平、能力等方面原因,现在社区基本上也没什么动静了。现在年龄越来越大,精力也有限,希望有更多新生力量加入进来,让Gentooo这个发行版在国内有更多影响力! 2.您会参与哪些线下活动? 答:我们庄里,有个活动参加就不错了,不像北上广这样的一线大城市经常有。虽然离帝都近,但一是时间紧张,二是自己掏腰包负担费,看看3K多的月薪,算了吧。。。 3.您怎么看现目前中国的开源社区,又看好哪些?能举例详细说明吗? 答:中国的开源社区和国外比,有明显的差距,但从这几年的发展来看,氛围是越来越好的。我认为目前最大的问题是:不少社区是靠核心组织者的热情来维持,缺乏一定的资金和硬件条件支持,也就是没有长久发展的机制。再加上拿来主义盛行,在一定程度上也...阅读全文

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

在 Kubernetes 上扩展 TensorFlow 模型

。 ## 用 KFServing 自动扩展 TensorFlow 模型 KFServing 是一种无服务器平台,它可以轻松地将训练好的 TensorFlow 模型转换为从 Kubernetes 集群外部访问的推理服务。通过 Istio, KFServing 可以实现网络和入口、健康检查、金丝雀发布(canary rollouts)、时间点快照、流量由以及针对你部署的 TensorFlow 模型灵活地配置服务器。 同时,KFServing 还支持开箱即用的训练 TensorFlow 模型的自动扩展。在底层,KFServing 依赖于 Knative Serving 的自动扩展能力。Knative 提供了两个自动扩展的实现。一种是基于 Knative Pod Autoscaler(KPA)工具,另一种个...阅读全文

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

且需要单独的网络组件,该组件可以透明地将来自一个节点上的pod的流量由到另一个节点上的pod。 此功能由pod网络插件提供。 对于这个群集,您将使用Flannel ,一个稳定且高性能的选项。 在本地计算机上创建一个名为master.yml的Ansible playbook: nano ~/kube-cluster/master.yml 将以下播放添加到文件以初始化集群并安装Flannel:〜/ KUBE群集/ master.yml - hosts: master become: yes tasks: - name: initialize the cluster shell: kubeadm init --pod-network-cidr=10.244.0.0/16...阅读全文

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

Docker 核心原理

经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等 None 模式 使用none模式,Docker 容器拥有自己的 Network Namespace,但是,并不为Docker 容器进行任何网络配置。也就是说,这个 Docker 容器没有网卡、IP、由等信息。需要我们自己为 Docker 容器添加网卡、配置 IP 等 Cgroups 通过 Linux Namespace 为新创建的进程隔离了文件系统、网络并与宿主机器之间的进程相互隔离,但是 Namespace 并不能够为我们提供物理资源上的隔离,比如 CPU 或者内存。所以 Docker 还借助了 Linux...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

系统的很大一部分现在已经有了这样的预期状态抽象层,而不再依赖工作流的状态——这是一个广泛影响业界的趋势。 — 1 — 术语 运行一个现代化的服务有很多必要部分。特别在谈论基础架构即服务时,有些术语很混乱。比如,谁是“用户”?人还是使用基础架构的服务?还是终端用户?或者别的什么? 图1展示了本文所设计的各个参与方: 图1:围“服务”的术语 服务是某个团队想要运行的面向用户的系统,比如Gmail或者Map。服务由多个内部子服务组成——比如,Gmail服务的检测垃圾邮件的服务仅仅是组成Gmail的众多服务之一。 为了帮助解释本文的观点,我们会提到Shakespeare服务[1]的服务器部分,这是一个假象的服务,如图2所示。 图2:简单的Shakespeare服务,LB是“负载均衡器” 这个服务是...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

Kafka 3.0新特性全面曝光,真香!

partition都是有序的,即消息发送到队列的顺序跟消费时拉取到的顺序是一致的。replication:副本。一个topic对应的分区partition可以有多个副本,多个副本中只有一个为leader,其余的为follower。为了保证数据的高可用性,leader和follower会尽量均匀的分布在各个broker中,避免了leader所在的服务器宕机而导致topic不可用的问题。 (二)kafka2当中zk的作用/admin:主要保存kafka当中的核心的重要信息,包括类似于已经删除的topic就会保存在这个径下面。/brokers:主要用于保存kafka集群当中的broker信息,以及没被删除的topic信息。/cluster: 主要用于保存kafka集群的唯一id信息,每个kafka集群都会给分配...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

HTTP状态码详解

求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前由的下一个节点上,Expect 的内容无法被满足。 421 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的计算可能涉及到不止一个终端用户。 422 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)423 Locked 当前资源被锁定。(RFC 4918 WebDAV) 424 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV) 425 在WebDav...阅读全文

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