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

HTTP状态码详解

的剩余部分,或如果已经完成,忽略这个响应。服务器必须在完成后向客户端发送一个最终响应。 101 服务器已经理解了客户端的,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或切换到一个实时且同步的协议以传送利用此类特性的资源。 102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 2xx 成功 这一类型的状态码,代表已成功被服务器接收、理解、并接受。 200 已成功,所希望的响应头或数据体将随此响应返回。 201 已经被实现...阅读全文

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

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速的性能评测。本文内容分为以下两部分: 使用 curl 查看加载时间 使用 curl -w 查看更多的网络情况 使用 curl 查看加载时间 curl -s -w "%{time_total}\n" -o /dev/null http://www.github.com/ 1.492 可以看到时间为 1.492 秒。此时: -s, --silent: 让 curl 保持静默模式,不会输出进度条 -w "%{time_total\n}":输出使用时间 -o /dev/null: 这个参数用来隐藏 response 的内容 如果使用...阅读全文

博文 2018-11-28 18:40:47 debian.cn

成为Debian社区维护人需要做好的准备

sponsor 上传的软件包的维护是打包人而非 sponsor,所以它的各种更新、任何 Bug 报告都是打包人的责任。在维护软件包上,普通维护人员与正式的 DD 间的差别仅在于能否直接上传,其他的完全相同。 这个步骤进行期间,需要多次阅读 Debian Policy Manual 并确保自己的软件包符合里面的全部要。最好再读一下 Debian Developers Reference,里面介绍了很多 Policy Manual 中没有提到的细节和最佳经验。 如果打算申 DM/DD,则应尽早开始维护软件包,因为申 DM 需要经过一段时间的软件包维护作为评价的材料,以此证明你能够胜任。 5. 不是有软件包被上传到仓库就说明你已经符合了成为 DM 的要。你必须通过一段时间的努力(更新软件、修复...阅读全文

新改进让Linux 5.10能更快地休眠以及恢复工作

如果你经常让你的系统经历休眠周期,那么从即将开始的 Linux 5.10 周期开始,性能应该会好很多。在即将到来的Linux 5.10合并窗口中,有一个变化允许对休眠/恢复的I/O进行批处理,以加快休眠和恢复进程。 到目前为止,Linux 内核依靠为每一页数据提交单独的 I/O ,但现在 Linux 5.10+ 的时候,它设置为使用 batch 与 blk_plug。 开发Xiaoyi Chen的内核补丁解决了这一问题:合并I/O让系统休眠和恢复的速度提升了一个数量级以上。在使用的32GB内存中,16GB内存的一个休眠和恢复周期在改变前需要21分钟左右,在存储IOPS有限的系统上,改变后仅需要1分钟。" Xiaoyi Chen在亚马逊EC2旗下主导了这项工作,这项改变是在系统...阅读全文

博文 2020-10-04 20:25:21 debian.cn

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

会把这些信息填充到将要发送的 HTTP 头中: x509 证书使用 tls.TLSConfig 发送(包括 CA 证书)。bearer tokens 在 HTTP 头 Authorization 中发送。用户名和密码通过 HTTP 基本认证发送。OpenID 认证过程是由用户事先手动处理的,产生一个像 bearer token 一样被发送的 token。 2. kube-apiserver 认证 现在我们的已经发送成功了,接下来将会发生什么?这时候就该 kube-apiserver 闪亮登场了!kube-apiserver 是客户端和系统组件用来保存和检索集群状态的主要接口。为了执行相应的功能,kube-apiserver 需要能够验证是合法的,这个过程被称为认证。 那么...阅读全文

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

隐私声明

我们重视保护用户的隐私权,您在浏览本网站以及使用本网站的特定服务前,仔细阅读本隐私权声明。使用本网站,即视为您同意本隐私权声明并同意本网站根据本隐私权声明收集、使用、披露您的部分信息。 本隐私权声明主要包括如下内容:当您浏览本网站时,我们向您收集哪些信息;我们如何使用这些信息;我们会在何种情况下披露这些信息;以及您的选择。 本隐私权声明适用于本网站收集的关于您的个人信息。注意本网站可能包含连接到其他网站的链接,我们对这些其他网站的隐私权做法不承担任何责任。我们建议您仔细阅读您所浏览的其他网站的隐私权声明。 1. 信息的收集 您向我们提供的信息。 如果您仅仅浏览本网站的一般性内容,我们并不要您提供任何个人信息。在您需要使用或浏览我们提供的特定服务或信息时(比如参...阅读全文

深入学习golang — channel

Consumer( queue <-chan int){ for i :=0; i < 10; i++{ v := <- queue fmt.Println("receive:", v) } } func main(){ queue := make(chan int, 1) go Producer(queue) go Consumer(queue) time.Sleep(1e9) //让Producer与Consumer完成 } 上面的示例在Producer中生成数据,在Consumer中处理数据。 4. Server编程模型 在server编程,一种常用的模型:主线程接收,然后将分发给工作线程,工作线程完成处理。用go来实现,如下: func handle(r *Request...阅读全文

博文 2021-01-25 12:39:17 博客园

协议介绍之深入了解 gRPC

经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC 是如何基于 HTTP/2 构建的。 HTTP/1.x HTTP 协议可以算是现阶段 Web 上面最通用的协议了,在之前很长一段时间,很多应用都是基于 HTTP/1.x 协议,HTTP/1.x 协议是一个文本协议,可读性非常好,但其实并不高效,笔主要碰到过几个问题: Parser 如果要解析一个完整的 HTTP ,首先我们需要能正确的读出...阅读全文

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

GitLab 11.10 正式发布,进一步简化协作功能

。 进一步简化协作功能 GitLab 11.10 提供了更多功能来简化协作和开发人员的工作流程。之前的版本中 引入了合并建议,允许审阅在合并注释中建议提供单行更改。现在这项功能得到了改进,可以建议 多行更改 ,指定要删除的现有行,并引入多行添加。详细更新查看发布公告。...阅读全文

Kong 1.3 发布:原生 gRPC 代理、上游 TLS 交叉认证

此版本在与上游服务握手时提供特定证书以提高安全性,这样做的意义包括: 能够使用证书与上游服务握手使得 Kong 在需要强大的身份验证保证的行业中更加出色,例如金融和医疗保健服务。更高的安全性。通过提供可信证书,上游服务将确定传入是由 Kong 转发的,而不是恶意客户端。更简单的合规性。开发友好。可以使用 Kong 将需要相互 TLS 身份验证的服务转换为更加开发不相关的方法(例如,OAuth)。 此外,Kong 1.3 还开源了 Sessions 插件,此前它仅在 Kong Enterprise 中提供,该插件结合其它身份验证插件,允许 Kong 记住之前已经过验证的浏览器用户。 OpenResty 的版本升级到 1.15.8.1,该版本基于 Nginx 1.15.8。此版本在关闭上...阅读全文

博文 2019-08-22 14:54:57 debian.cn

译:Kubernetes 最佳实践

本文翻译自 Jack Roper 的文章 Kubernetes Best Practice。译:文章中作从应用程序开发、治理和集群配置三个方面给出了一些 Kubernetes 的最佳实践,同时翻译过程中也加入了我过往的一些使用经验。有误的地方,也欢迎大家指正。在这篇文章中,我将介绍一些使用 Kubernetes (K8s) 时的最佳实践。作为最流行的容器编排系统,K8s 是现代云工程师掌握的事实标准。众所周知,不管使用还是维护 K8s 复杂的系统,因此很好地掌握它应该做什么和不应该做什么,并知道什么是可能的,将是一个好的开局。这些建议包含 3 大类中的常见问题,即应用程序开发、治理和集群配置。最佳实践目录使用命名空间使用就绪和存活探针(译注:还有启动探针)使用自动缩放使用资源和约...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Node.js Vs. PHP:你应该选择哪一个

PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端。但是,这并不意味着PHP 不可以,看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文

博文 2017-12-23 23:15:39 debian.cn

架构师详解 Nginx 架构

HTTP 模块 可选 HTTP 模块主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,如:Flash 多媒体传输、解析 GeoIP 、SSL 支持等。 邮件服务模块 邮件服务模块主要用于支持 Nginx 的邮件服务,包括对 POP3 协议、IMAP 协议和 SMTP 协议的支持。 第三方模块 第三方模块是为了扩展 Nginx 服务器应用,完成开发自定义功能,如:Json 支持、Lua 支持等。 二. Nginx 处理方式 Nginx 是一个高性能的 Web 服务器,能够同时处理大量的并发。它结合多进程机制和异步机制,异步机制使用的是异步非阻塞方式,接下来就给大家介绍一下 Nginx 的多线程机制和异步非阻塞机制。 多进程 服务器每当收到一个客户端时。就有服务器...阅读全文

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

高性能缓存服务器 Nuster

-rule 200and404 code 200,404 cache-rule all code all if|unless condition 定义 ACL 条件 详见HAProxy configuration的7. Using ACLs and fetching samples 常见问题 如何调试? 在global添加debug, 或带-d启动haproxy 缓存相关的调试信息以[CACHE]开头 如何缓存 POST ? 添加option http-buffer-request 如果自定义了 key 的话需要使用body关键字 body 可能不完整,详见HAProxy configuration 的 option http-buffer-request小节 另外可以为 post ...阅读全文

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

互联网协议正在发生变化

当上世纪九十年代互联网开始被广泛使用的时候,其大部分的通讯只使用几个协议:IPv4 协议路由这些数据包,TCP 协议转发这些包到连接上,SSL(及后来的 TLS)协议加密连接,DNS 协议命名那些所要连接的主机,而 HTTP 协议是最常用的应用程序协议。 多年以来,这些核心的互联网协议的变化几乎是微乎其微的;HTTP 增加了几个新的报文头和方式,TLS 缓慢地进行了一点小修改,TCP 调整了拥塞控制,而 DNS 引入了像 DNSSEC 这样的特性。这些协议看起来很长时间都一成不变(除了已经引起网络运营商们的大量关注的 IPv6)。 因此,希望了解(甚至有时控制)互联网的网络运营商、供应商和决策对这些协议采用的做法是基于其原有工作方式 —— 无论是打算调试问题,提高服务质量,或施加政策...阅读全文

Docker更名Moby,也是无奈之举

、containerd、InfraKit以及最新刚刚发布的LinuxKit)当中拆分出来,仍然导致人们很难对容器技术及命令行中的奥秘进行深入探索,更遑论弄清各活动部件间的彼此关联。 对于Moby的误解,部分源自该公司决定直接将访问重新定向至Docker客户端的GitHub库(用于保留Docker客户端的开源代码),但却未对此举作出任何解释。 GitHub连接问题的出现进一步扩大了对Docker项目凭空“消失”的误会。Docker公司技术人员PatrickChanezon表示,GitHub更换代理商造成了一系列技术性问题,可能需要GitHub方面的支持人员介入并加以解决。 Docker公司联合创始人兼CTO SolomonHykes在他的pull中对目前的状况给出了非常简单的答案:“Docker公司正在将所...阅读全文

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

Golang Context 探究

{ // 返回 context.Context的截止时间(也就是取消时间) Deadline() (deadline time.Time, ok bool) // 返回一个 Channel,这个 Channel 会在当前操作完成或上下文被取消之后关闭,多次调用 Done 方法会返回同一个 Channel Done() <-chan struct{} // 返回 context.Context 结束的原因 Err() error // 从 context.Context 中获取键对应的值, 该方法可以用来传递特定的数据 Value(key interface{}) interface{} } Context 实现 首先我们思考为什么Golang 中需要 Context。用我们最熟悉的例子 http...阅读全文

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

Golang 应用集成 Prometheus 统计数据支持

基本概念 Prometheus 所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中(TSDB):属于同一指标名称,同一标签集合的、有时间戳标记的数据流。除了存储的时间序列,Prometheus 还可以根据查询产生临时的、衍生的时间序列作为返回结果。 样本在时间序列中的每一个点称为一个样本(sample),样本由以下三部分组成: 指标(metric):指标名称和描述当前样本特征的 labelsets; 时间戳(timestamp):一个精确到毫秒的时间戳; 样本值(value): 一个 folat64 的浮点型数据表示当前样本的值。 {

博文 2022-11-24 10:33:09 CSDN博客

Apache Kafka发布 3.0 正式版

OffsetFetch 以接受多个组 ID Kafka 消费组的当前偏移量已经有一段时间了。但是获取多个消费组的偏移量需要对每个组进行单独的。在 3.0 和KIP-709 中,fetch 和 AdminClient API 被扩展为支持在单个/响应中同时读取多个消费组的偏移量。KIP-699:更新 FindCoordinator 以一次解析多个 Coordinator支持可以以有效方式同时应用于多个消费组的操作在很大程度上取决于客户端有效发现这些组的协调的能力。这通过KIP-699成为可能,它增加了对通过一个发现多个组的协调器的支持。Kafka 客户端已更新为在与支持此的新 Kafka 代理交谈时使用此优化。KIP-724:删除对消息格式 v0 和 v1 的支持自 2017 年...阅读全文

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

如何在 Debian 中安装 DHCP 服务器

动态主机配置协议(DHCP)是一种用于使主机能够从服务器自动分配 IP 地址和相关的网络配置的网络协议。DHCP 服务器分配给 DHCP 客户端的 IP 地址处于“租用”状态,租用时间通常取决于客户端计算机要连接的时间或 DHCP 服务器配置的时间。 DHCP 如何工作? 以下是 DHCP 实际工作原理的简要说明: 一旦客户端(配置为使用 DHCP 的机器)连接到网络后,它会向 DHCP 服务器发送DHCPDISCOVER数据包。 当 DHCP 服务器收到DHCPDISCOVER报文后会使用DHCPOFFER包进行回复。 然后客户端获取到DHCPOFFER数据包,并向服务器发送一个DHCPREQUEST包,表示它已准备好接收DHCPOFFER包中提供的网络配置信息。 最后,DHCP...阅读全文

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

Web前端知识体系精简

动画函数,然后以这个动画的方式来改变元素的css属性之的变化,动画可以被设置为永久循环演示。 和transition相比,animation设置动画效果更灵活更丰富,二还有一个区别是:transition只能通过主动改变元素的css值才能触发动画效果,而animation一旦被应用,就开始执行动画。 8、雪碧图 sprite 对于大型站点,为了减少http的次数,一般会将常用的小图标排到一个大图中,页面加载时只需一次网络, 然后在css中通过设置background-position来控制显示所需要的小图标。 9、字体图标 iconfont 所谓字体图标就是将常用的图标转化为字体资源存在文件中,通过在CSS中引用该字体文件,然后可以直接通过控制字体的css属性来设置图标的样式...阅读全文

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

DNS SRV:使用DNS服务器做服务发现

DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重。RFC-2782 给出DNS SRV的建议标准,它是在2000年的时候提出来的。 访问服务的时候,本地的服务从 DNS 服务器查询到一个地址列表,根据优先级和权重,从中选取一个地址作为本次的目标地址。 一个支持SRV的 LDAP client 通过查询域名,可以得知 LDAP 服务的 IP 地址和服务端口: _ldap._tcp.example.com 这个域名的格式是 rfc-2782 中推荐的格式,_ldap表示LDAP服务,_tcp表示通过TCP协议访问LDAP服务。 SRV 的 DNS 类...阅读全文

博文 2019-03-05 09:35:34 debian.cn

NSA 的 Python 手册

Python 开发现在可以观摩下美国情报机构 NSA 是如何培训 Python 程序员的。软件工程师 Chris Swenson 根据信息自由法案递交申,要访问 NSA 的 Python 培训材料,结果收到了 400 页经过编辑的 NSA COMP 3321 Python 培训课程打印资料。 Swenson 扫描了打印稿,用 OCR 进行识别,确保数字档案可搜索,将其托管在 Digital Oceans Spaces,之后又被上传到了互联网档案馆。Swenson 称他问 NSA 索要 Python 培训材料纯粹是出于好奇。 Python 开发 Kushal Das 观摩之后摘录些有趣的细节:NSA 有内部的 Python 包索引,其 GitLab 实例是...阅读全文

博文 2020-02-20 12:00:39 debian.cn

提问的智慧 – 全文

自大,烦检查你的假设,我们并未要你崇拜我们,事实上,假如你做了力所能及的努力,我们大多将非常乐意平等地与你交流,并欢迎你接纳我们的文化。我们认为试图去帮助那些不愿自助的人是一件没有效率和效果的事情。所以,我们宁愿被称作傲慢,也不去做愚蠢的事[7]。 所以,你无须拥有很高超技术也可以吸引我们的注意,前提是你必须表现出解决此问题的积极态度:热切关注、深入分析、试图努力查找过解决此问题的方法,并且乐意主动参与到解决问题的组织,分享你的想法。如果你做不到使你与众不同,我们建议你付费寻他人帮助,而不是要黑客提供无偿的帮助。 如果你决定向我们助,不想成为一名loser,或不想被看成一个lose,我们有一个立竿见影的方法:(1)有技术含量地提问,(2)像是一个有智慧有自信和会思考的人那样去提问...阅读全文

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

Django 2.2 发布,LTS版来了

Django 2.2 已正式发布 ,这是一个长期支持版本(LTS),亦即意味着官方会提供 至少三年 的安全问题和数据丢失修复。除此之外,它还会接收到修复崩溃错误、新引入特性中主要功能错误的程序,以及修复接下来八个月到 2019 年 12 月为止关于旧版 Django 的回归错误。 2.2 新特性:https://docs.djangoproject.com/en/2.2/releases/2.2/下载地址:https://www.djangoproject.com/download/升级指南:https://docs.djangoproject.com/en/2.2/howto/upgrade-version/ 值得关注的新特性 HttpRequest.headers 可访问的...阅读全文

博文 2019-04-03 13:55:30 debian.cn

深入理解Golang之context

++ { messages <- i } time.Sleep(5 * time.Second) close(done) time.Sleep(1 * time.Second) fmt.Println("main process exit!") } 上述例子中定义了一个buffer为0的channel done, 子协程运行着定时任务。如果主协程需要在某个时刻发送消息通知子协程中断任务退出,那么就可以让子协程监听这个done channel,一旦主协程关闭done channel,那么子协程就可以推出了,这样就实现了主协程通知子协程的需。这很好,但是这也是有限的。如果我们可以在简单的通知上附加传递额外的信息来控制取消:为什么取消,或有一个它必须要完成的最终期限,更或有多个取消选项,我们需要根据额外的信息来判断...阅读全文

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

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

gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。gRPC 1.0版本是2015年面世以后的第一次版本发布,开发可以把该版本用于生产。API现在也是很稳定的。 Bugsnag(注:一家云端bug监控服务商)每天处理数以亿计的错误信息,为了处理这些数据,考虑优先构建一个可扩展,性能强大的后端系统,并从中学到很多有挑战性的技术。最近,我们推出了新版本的仪表板,这个项目要扩展系统,来处理服务呼叫的显著增加,这些呼叫是跟踪用户发布和会话所需的...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。为了追成为一个好的Java程序员,我决定从今天开始死磕Java的并发编程,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发编程之前,我们需要了解几个基本的概念。 同步和异步同步和异步用返回调用的方式来理解相对简单。 同步:可以理解为发出一个后,必须等待返回结果才能执行下面的操作。 异步:发出后,不需要等待返回结果,可以继续执行后续操作,异步更像是在另一个 “空间” 中处理的结果,这个过程不会影响方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过程你需要在店...阅读全文

博文 2018-12-31 20:44:06 debian.cn

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

。即使用户空间的占用率提高一倍,其CPU占用率也仅为10%,这也解释了为何7层处理对性能影响有限这一现象。由此,在高端系统上HAProxy的7层性能可轻易超过硬件负载均衡设备。 在生产环境中,在7层处理上使用HAProxy作为昂贵的高端硬件负载均衡设备故障故障时的紧急解决方案也时长可见。硬件负载均衡设备在“报文”级别处理,这在支持跨报文(request across multiple packets)有着较高的难度,并且它们不缓冲任何数据,因此有着较长的响应时间。对应地,软件负载均衡设备使用TCP缓冲,可建立极长的,且有着较大的响应时间。 二,安装配置HAProxy 以下实验环境均为 Debian i686平台。 1,安装haproxy [root@LB ~]# apt-get...阅读全文

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

Django 面临困境 欲重组核心团队

上都是通过讨论取得共识后再决定的。更最重要的是,现在 Django 中的不少提交都处于非活动的状态,再加上“提交”或“核心团队成员”这种头衔往往被视为有较高的门槛,容易让潜在的贡献“不敢”与之相匹配。因此,从各层面来说,Django 的核心团队都已经失去了作用,倒不如直接解散。 作为替代,两个新的角色将被正式化 —— 合并(Merger)和 发布(Releaser),合并负责拉取到 Django ,发布负责打包和发布版本。技术委员会作为最终的把关,将继续保留,并赋予一些额外的决定权,主要是把控合并和发布的工作,并确认 Django 即将发布的版本。同时,董事会选举的频率将会降低,计划会是在每个主要版本发布时举办一次,而不是现在的每个版本发布时都进行。技术委员会的选举...阅读全文

博文 2018-11-23 10:24:21 debian.cn

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

项目)仍应由各自的所有负责,但重要的是默认情况应该是相反的。 Debian缺乏管理重大变更的工具:很难用程序的方式处理包和存储库(参见下一小节的内容)。最近一次发送过来要审核的更改是一个附带补丁的bug报告。我认为接受bug报告更改的流程太复杂,然后开始尝试mergebot,但只有Guido曾经表示对该项目感兴趣。 在文化方面,Debian的评论和反应都很慢。凡事都没有截止期限。有时我会收到电子邮件,通知我说我在几年前(!!)发送的补丁现在终于合并了。只有短短数周的项目拖到了数年,对我来说这是一个巨大的消极影响。 有趣的是,你可以看到缓慢的线上活动也影响到了线下的文化:我不想在第一次听到systemd后,过10年之久再讨论它。 最后,如果有人坚持拒绝合作,那么你做出的变更很容易就会被一...阅读全文

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

如何用 Privoxy 辅助科学上网

已经大致解释了。这里就不再重复罗嗦了。 所谓的“HTTP 代理转发”就是说:Privoxy 把自己收到的 HTTP 转给另一个 HTTP 代理,再由该代理转到你最终访问的网站。 大致示意图如下(今天偷个懒,只画了“基于字符的示意图”): |====>| |====>| |====>| 浏览器| |Privoxy| |HTTP代理| |目标网站 |<====| |<====| |<====| 示意图中的 ====> 表示 HTTP 示意图中的 <==== 表示 HTTP 响应 HTTP 代理转发的语法如下(把该语法添加在“主配置文件”尾部): forward target_pattern http_proxy:port 语法解释: 该命令分3段,各段之间用空格分开(可以用单个空格,也...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

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

:使用`/latest_producer_id_block`节点来保存PID块,主要用于能够保证生产的任意写入都能够得到响应。/log_dir_event_notification:主要用于保存当broker当中某些LogDir出现异常时候,例如磁盘损坏,文件读写失败等异常时候,向ZK当中增加一个通知序号,controller监听到这个节点的变化之后,就会做出对应的处理操作。以上就是kafka在zk当中保留的所有的所有的相关的元数据信息,这些元数据信息保证了kafka集群的正常运行。二、kafka3的安装配置在kafka3的版本当中已经彻底去掉了对zk的依赖,如果没有了zk集群,那么kafka当中是如何保存元数据信息的呢,这里我们通过kafka3的集群来一探究竟。(一)kafka安装配置...阅读全文

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

Python Web 框架 Flask 1.0 正式发布

多线程处理开发过程中的并发。 之前不推荐使用的 flask.ext 已被完全删除。 在调试模式下访问 request.form 的缺失密钥时会显示更有用的错误提醒,以避免开发混淆常见的错误来源。 app.logger 的行为已大大简化,更容易定制。 test_client 新增用于发布 JSON 数据的 json 参数,Response 对象新增 get_json 方法来在测试中将数据解码为 JSON 。 新增 test_cli_runner ,用于测试应用程序的 CLI 命令。 大量文档已被重写,更清晰明了。这是一项长期持续的工作。 教程和相应的示例已被重写。新的示例使用结构化布局并详细介绍每个方面,以帮助新用户更好地规避常见问题并适应 Flask 。 细节查阅发行说明...阅读全文

博文 2018-04-27 23:21:17 debian.cn

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

统瘫痪! 5.线上Redis禁止使用Keys正则匹配操作 Redis是单线程处理,在线上KEY数量较多时,操作效率极低【时间复杂度为O(N)】,该命令一旦执行会严重阻塞线上其它命令的正常,而且在高QPS情况下会直接造成Redis服务崩溃!如果有类似需使用scan命令代替! 6.可靠的消息队列服务 Redis List经常被用于消息队列服务。假设消费程序在从队列中取出消息后立刻崩溃,但由于该消息已经被取出且没有被正常处理,那么可以认为该消息已经丢失,由此可能会导致业务数据丢失,或业务状态不一致等现象发生。 为了避免这种情况,Redis提供了RPOPLPUSH命令,消费程序会原子性的从主消息队列中取出消息并将其插入到备份队列中,直到消费程序完成正常的处理逻辑后再将该消息从备份队列...阅读全文

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

如何在 Nginx 中配置 gRPC 的代理

gRPC服务。 nginx是使用http服务器监听gRPC的。示例如下: http { server { listen 80 http2; access_log logs/access.log main; location / { # The 'grpc://' prefix is optional; unencrypted gRPC is the default grpc_pass grpc://localhost:50051; } } } 指令grpc_pass用来指定代理的gRPC服务器地址,前缀协议有两种: grpc://:与gRPC服务器端交互是以明文的方式 grpcs://:与gRPC服务器端交互式以TLS加密方式 gRPC服务器地址的前缀“grpc://”是可以忽略,默认就是明文...阅读全文

博文 2018-04-20 11:03:39 debian.cn

Debian 向社区发出邀请 请求测试 Debian 10 Buster 安装镜像

Debian项目团队已经向社区用户发出邀帮助测试即将推出的Debian GNU/Linux 10 “Buster”。该发行版本计划于2019年7月6日周六正式发布,整个开发阶段已经持续数年时间,相比Debian 9引入了诸多改进和新功能,努力将其打造成为非常优秀的新版本。 不过在本周晚些时候正式上线之前,Debian 项目寻社区的力量,以反馈发现Debian GNU / Linux 10 Buster 在下载、安装和使用环节所遇到的问题,从而确保最终正式版没有错误。 Andy Simpkins在邮件列表中写道:“如果能够占用你的一些时间来帮助我们测试这些镜像,我们将非常感激你的帮助。在开始测试之前检查 irc *以减少重复测试。” Debian GNU / Linux 10...阅读全文

博文 2019-07-03 16:39:51 debian.cn

Gitlab 12.2 发布:改进团队协作

Gitlab 12.2 已经发布,此版本将帮助团队优化他们的管道,改进协作,并管理项目之间的相互依赖。更新内容如下: 更快、更灵活的管道 CI 管道的目标是自动化手工构建和测试任务,加速软件交付,同时减少错误。然而,对于某些用例,GitLab CI/CD 管道并没有那样高效。GitLab 12.2 现在支持 Directed Acyclic Graphs (DAG) 作为创建和管理详细作业依赖关系的方法,而不是依赖于顺序阶段。使您的 CI 管道变得更快和更有效率。 设计管理 软件开发是一项团队协作工作,在 12.2 版本中,提供了新的能力,包括在 GitLab 上的设计管理。设计管理将使设计内容的共享、版本和协作变得容易,从而帮助团队更有效地使用单一来源。 跨项目合并依赖 复杂系统通常...阅读全文

博文 2019-08-23 15:59:42 debian.cn

PHP 7 的 PHP

据 ZDNet 的报道,PHP 7.x 中最近修复的一个远程代码执行漏洞正被恶意利用,并会导致攻击控制服务器。编号为 CVE-2019-11043 的漏洞允许攻击通过向目标服务器发送特制的 URL,即可在存在漏洞的服务器上执行命令。漏洞利用的 PoC 代码也已在 GitHub 上发布。 一旦确定了易受攻击的目标,攻击便可以通过在 URL 中附加 ‘?a=’ 以发送特制到易受攻击的 Web 服务器。 仅 NGINX 服务器受影响 幸运的是,并非所有的 PHP Web 服务器都受到影响。据介绍,仅启用了 PHP-FPM 的 NGINX 服务器容易受到攻击。PHP-FPM 代表 FastCGI Process Manager,是具有某些附加功能的 PHP FastCGI 替代实现。它不...阅读全文

博文 2019-10-29 09:23:04 FPM 存在远程代码执行漏洞

Scrapy 架构及数据流图简介

Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘、信息处理或存储历史数据等一系列的程序中。本文着重介绍 Scrapy 架构及其组件之间的交互。 Scrapy 组件介绍 Scrapy Engine 引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)部分。 调度器(Scheduler) 调度器从引擎接受request并将他们入队,以便之后引擎他们时提供给引擎。 下载器(Downloader) 下载器负责获取页面数据并提供给引擎,而后提供给spider。 Spiders Spider 是 Scrapy用户编写用于分析response并提取item(即获取到的item)或额外跟进的...阅读全文

博文 2017-07-23 22:56:26 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

。诸如 KFServing 这样的工具可以让你根据需要定制扩展逻辑,包括 RPS 和并行目标。 你也可以使用 Kubernetes-native 工具,比如 HPA,根据用户定义的指标对模型进行扩展。你可以研究一下其他很棒的服务工具,比如 Seldon Core 和 BentoML。它们都支持自动扩展,并为自动化服务模型版本、金丝雀发布、更新和生命周期管理提供了许多有用的功能。 #### 作介绍: Kirill Goltsman,技术博客写手、研究员,专攻研究人工智能 / 机器学习及容器化技术。在过去的几年里,他领导了专注于数据分析、Kubernetes 以及游戏和安全领域的人工智能的初创公司的内容创作策略。在他的技术写作中,Kirill 利用了他的编程语言(Javascript...阅读全文

Qt5.9发布:如何评价QT

5月31号Qt正式发布了新版本5.9,声明修复了大量的bug(2000多个?),增加了大量的新特性,并且更稳定。这是2015年5.6版本之后的一个LTS(长期维护)版本。 意味着在3年标准支持期内将分阶段不断提供对此版本的修复与维护,即使也会有其他新版本发布。 个人认为新的长期项目的开发是值得尝试从5.9开始的,但近些年的几个5.x版本中还仍有大量p2甚至少量p1级别的bug没有修复,仍有不少早期版本稳定开发的开发迟迟无法迁移到新版本。所以享用新特性和接受潜在的未知风险还需要根据项目的要以及侧重点进行权衡。 官方发布的新版本亮点的确不胜枚举。 比如Qt 3D,增强对 3D图像及动画的支持,更容易与Qt Quick相结合。 并支持多种3D几何格式的插件。 比如QML性能的提升,Qt...阅读全文

博文 2017-06-02 10:24:32 5.9的变化

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

本和第一个副本位于不相同机架的随机节点上。 第三个副本和第二个副本位于相同机架,节点随机。 机架感知 2) Hadoop2.7.2 副本节点选择 第一个副本在client所处的节点上。如果客户端在集群外,随机选一个。 第二个副本和第一个副本位于相同机架,随机节点。 第三个副本位于不同机架,随机节点。 机架感知 8.HDFS 文件读取过程(非常重要) HDFS 文件读取过程 Client向NameNode发起RPC,来确定文件block所在的位置; NameNode会视情况返回文件的部分或全部block列表,对于每个block,NameNode 都会返回含有该 block 副本的 DataNode 地址; 这些返回的 DN 地址,会按照集群拓扑结构得出 DataNode 与客户端的距...阅读全文

Let’s Encrypt :2018年1月发布通配证书

Let’s Encrypt 将于 2018 年 1 月开始发放通配证书。通配证书是一个经常需要的功能,并且我们知道在一些情况下它可以使 HTTPS 部署更简单。我们希望提供通配证书有助于加速网络向 100% HTTPS 进展。 Let’s Encrypt 目前通过我们的全自动 DV 证书颁发和管理 API 保护了 4700 万个域名。自从 Let's Encrypt 的服务于 2015 年 12 月发布以来,它已经将加密网页的数量从 40% 大大地提高到了 58%。如果你对通配证书的可用性以及我们达成 100% 的加密网页的使命感兴趣,我们你为我们的夏季筹款活动(LCTT 译注:之前的夏季活动,原文发布于今年夏季)做出贡献。 通配符证书可以保护基本域的任何数量的子域名(例如...阅读全文

博文 2017-11-28 13:23:29 debian.cn

Debian Live 项目的剧变

live-config 的支持情况来确定 vmdebootstrap 的功能。 这些抱怨听起来合情合理,但是它们可能已经在目前的项目中得到了解决。然而一些秘密的项目有很明显的取代 live-build 的意图。正如 Baumann 指出的,这些计划没有被发布到 debian-live 的邮件列表中。人们首次从 Debian Live 项目中获知这些计划正是因为这一次的ITP事件,所以它看起来像是一个「秘密计划」——有些事情在像 Debian 这样的项目中得不到很好的安排。 人们可能已经猜到了,有很多帖子都支持 Baumann 重命名 live-build-ng 的,但是紧接着,人们就因为他要停止继续在 Debian Live 上工作的决定而变得沮丧。然而 Learmonth 和...阅读全文

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

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

Redis使用的最大内存: maxmemory 100mb 在内存占用达到了maxmemory后,再向Redis写入数据时,Redis会: 根据配置的数据淘汰策略尝试淘汰数据,释放空间 如果没有数据可以淘汰,或没有配置数据淘汰策略,那么Redis会对所有写返回错误,但读仍然可以正常执行 在为Redis设置maxmemory时,需要注意: 如果采用了Redis的主从同步,主节点向从节点同步数据时,会占用掉一部分内存空间,如果maxmemory过于接近主机的可用内存,导致数据同步时内存不足。所以设置的maxmemory不要过于接近主机可用的内存,留出一部分预留用作主从同步。 数据淘汰机制 Redis提供了5种数据淘汰策略: volatile-lru:使用LRU算法进行数据淘汰(淘汰上次使用时间...阅读全文

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

Istio 1.2.0发布 包含重大改进

Istio 1.2.0 已发布,距上一个重要版本 1.1 发布过去刚好三个月。更新的内容主要有以下这些。 General 添加了 traffic.sidecar.istio.io/includeInboundPorts 注解以消除服务所有在部署 yaml 文件中声明 containerPort 的需要。这将成为未来版本的默认设置。为 Kubernetes 集群添加了对 IPv6 的实验性支持 Traffic Management 在多集群环境中改进基于 基于位置的路由改进 ALLOW_ANY 模式 下的出站流量策略。现有端口上未知的 HTTP/HTTPS 主机流量将按 原样转发 。Envoy 访问日志将记录未知流量。添加了对上游服务设置 HTTP 空闲超时的支持改进了对 NONE 模式...阅读全文

博文 2019-06-24 10:13:28 debian.cn

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

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下的测试数据表明,容器与容器之间的网络性能,相...阅读全文