InfraPub 为您找到相关结果 855

Kafka生产问题总结以及性能优化

消费消需要紧急处理,可以修改消费端程序,让其将收到的消快速转到其他topic(可以设置很多分区),然后再启动多个消费者同时消费新主题的不同分区。 2)由于消数据格式变动或消费者程序有bug,导致消费者一直消费不成功,也可能导致broker积压大量未消费消。 此种情况可以将这些消费不成功的消到其它队列里去(类似死队列,kafka没有死队列,需要自己写),后面再慢慢分析死队列里的消处理问题。 2.1.5 延时队列 kafka没有延时队列,需要自己实现;延时队列存储的对象是延时消。所谓的“延时消”是指消以后,并不想让消费者立刻获取,而是等待特定的时间后,消费者才能获取这个消进行消费,延时队列的使用场景有很多, 比如 : 1)在订单系统中, 一个用户下单之后通常...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

钉钉发送报警消息的Python实现

] else: return '' 需要先上传文件获得media_id,然后使用media_id将文件给用户。另外,这里用到了poster,可使用pip安装: pip install poster 之后引入multipart_encode和register_openers函数: from poster.encode import multipart_encode from poster.streaminghttp import register_openers 给群会话 与给用户类似,区别是需要群会话id,而不是用户列表,以文本消为例,代码如下: def send_text_to_chat(access_token, chat_id, text): msg_type, msg...阅读全文

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

Golang 操作 Kafka 样例

)、consumer(消消费者)都可以是分布式的。 在消的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消队列, 并且可以持续的添加。 同时为布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消(50 MB),每秒处理55万消(110 MB)。 消被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 监控:主机通过Kafka与系统和应用程序健康相关的指标,然后这些会被收集和处理从而创建监控仪表盘并警告。 消队列: 应用程度使用Kafka作为传统的消系统实现标准的队列和消布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消系统来说,Kafka...阅读全文

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

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

time 可以看到 time_total 的细节: time curl --silent -o /dev/null http://www.github.com/ real 0m0.022s user 0m0.004s sys 0m0.002s 通常情况 Benchmark 一次的数据并不可靠,可以配合 for loop 多次请求。 curl 默认 GET 请求,也可以 POST, DELETE, PUT 或者更多的请求方式。 使用 curl -w 查看更多的网络情况 通常情况下一个 HTTP Request 会包含很多步骤,如果想知道 time_total 之外更详细的,可以参考 man curl 文章中, -w --write-out 。 curl -w...阅读全文

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

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

打破IP协议重塑互联网 华为能做到吗

的 IP 报头允许终端用户指定要在数据包上执行的自定义功能。 文章以智能家居为例,描述了新 IP 网络下的应用场景: 运动传感器检测出房间出现异常活动时,会通知相应房间的安全摄像头通过智能家居网络采集,然后,安全摄像头将收集到的图像通过互联网到主人的智能手机上进行判断。如果只是误报,主人可以向安全摄像头要求停止收集。由于房子里的所有设备都连接在同一个家庭网络上,所以运动传感器可以直接将通知到安全摄像头,并带有它的域内地址;并且由于新的 IP 协议向源地址中添加了一个地址段(4.3.2.1),摄像头数据能够直接传至用户的智能手机中。 不难看出,在该场景中,新 IP与传统 IP 相比有两方面优势:一是智能家居网络采用短地址空间进行批量通,减少了分组开销,提高了通...阅读全文

博文 2020-03-31 06:40:15 debian.cn

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

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你通过通知进程一个桌面通知给用户。这可以用来向用户提示,或者显示一些而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面一个简单的消: notify-send...阅读全文

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

Linode VPS注册购买教程

本站放出了Linode各个机房的测试结果,但是可能很多国内用户对Linode还是不是很熟悉,这里打算写一篇文章给想要入手Linode VPS的朋友提供一个参考,其实过程很简单,唯一麻烦的是,需要有一张VISA或者MASTERCARD的用卡,因为Linode默认不支持PayPal付款,只支持用卡付款。 Linode官网:www.linode.com 首先,我们通过上面哪个链接打开Linode官网,打开后页面如下: 页面上有三个输入框,分别是输入邮箱,用户名和密码,我们按照要求输入之后,来到一个提示页面: 这里提示我们已经往我们邮箱了一封邮件,我们打开邮箱,能看到有一封邮件,如图: 用填写注册的浏览器打开邮件里面的验证链接,来到这个界面: 这是说欢迎我们,内容可以不用管,点击其中的...阅读全文

博文 2021-03-11 17:13:31 diablo4

HTTP状态码详解

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 各状态码具体含义 1xx 消 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端 1xx 响应。 100 客户端应当继续请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续...阅读全文

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

Irssi: 命令行下的 IRC 客户端

/list # 频道列表 /names [#聊天室] # 列出当前服务器或指定聊天室下的所有人员名称(无法列出隐藏人员) /who # 查看频道的所有人 /whois [name] # 查看某人的基本资料 /ison … # 查询指定别名是否在线 /info # 查询服务器 /admin # 查询当前服务器上的Admin /lusers # 查询当前服务器上的统计 /motd # 查询当前服务器今日的统计 /links # 查询当前的服务器,解析当前的有几个服务器 聊天 /msg # 向某人私消(会打开新窗口) /query # 向某人私消(新开窗口且转换到这个窗口) /say 阅读全文

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

Debian GNU/Linux 9 Stretch 宣布于 6 月 17 日发布

不过在这段时间内,开团队还需要修复已知的BUG,各种崩溃和内存泄漏问题,整合所有最新的安全补丁,处理Debian GNU/Linux 8 "Jessie"系列版本的推和流畅升级问题。 Niels Thykier在今天更新的邮件列表中写道:“我们计划在2017年6月17日布。如果你想要为此进行庆祝,请考虑参加一场Debian版本布排队或者自己举办一个。用户可以访问https://wiki.debian.org/ReleasePartyStretch查看更多。”...阅读全文

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

容器安全项目Falco

Falco 是云原生的容器运行时(Runtime)安全项目,主要有 Sysdig 为主开,为 CNCF 项目,近日 Sysdig 宣布将底层的内核模块、eBPF 探针和库贡献给 CNCF。 Falco 可以轻松使用内核事件,并使用 Kubernetes 和其他云本机中的补充和丰富事件。Falco 具有一组专门为 Kubernetes,Linux 和云原生构建的安全规则。如果系统中违反了规则,Falco 将警报,通知到用户。...阅读全文

开源项目 2021-03-15 17:46:45

Skype Linux Alpha 1.13发布:支持发送短信

尽管 Linux 桌面操作系统有着很高的生产力和安全性,但其在软件和功能的丰富程度上仍无法与 Windows 10 和 macOS Sierra 相比,比如 Microsoft Office 和 Adobe Photoshop。好消是,微软刚刚布了 Skype for Linux 1.13 版本,允许从该平台上布文本短。此前,尽管 Google Voice 之类的基于 web的解决方案可以实现同样的功能,但在浏览器上的使用体验并不完美。 在 Skype for Linux 的最新版本中,迎来了如下变动: 支持; 更新至 Electron 1.4.7; 支持远程群体会话; 改进崩溃报告; 增加对身份验证令牌撤销的支持; 其它bug修复与性能改进。 Skype for...阅读全文

TLS1.3 正式版发布 — 特性与开启方式科普

产生影响的可能性。这种精简使网络管理员可以更简便地进行配置。此外,这次更新提高了协议的速度,也给用户带来更好的浏览体验。 提升速度 网页加载速度的提高对web服务的成功是至关重要的。亚马逊公司曾有一个著名的现:网页加载时间每增加100毫秒,销售额就会下降1%。网页加载时间的一个主要组成部分就是浏览器和web服务器之间数据耗费的“延迟时间”。 “延迟时间”特别会显著影响到: 移动设备用户 服务器在地理上相距很远的用户 一条消从悉尼往返纽约会花费超过200毫秒,而在移动设备上浏览还会增加这一延迟时间。通过现代4G移动网络一条消通常会额外增加100毫秒的延迟。在欧洲仍普遍使用的3G网络下,这一延迟则会增加200毫秒。就连家用 WiFi 和 ISP 也会再增加几十毫秒的延迟。这些额外的...阅读全文

博文 2018-08-14 14:40:05 debian.cn

如何在 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

Golang 中的 channel 通道详解

channel的容量。对于内置的len函数,如果传入的是channel,那么将返回channel内部缓存队列中有效元素的个数。因为在并程序中该会随着接收操作而失效,但是它对某些故障诊断和性能优化会有帮助。package main import "fmt" func main() { ch := make(chan int, 10) // 创建一个最大容量为10的channel ch <- 233 ch <- 2 ch <- 3 fmt.Println(cap(ch)) // 10 fmt.Println(len(ch)) // 3 fmt.Println(<-ch) // 233 fmt.Println(len(ch)) // 2 } 向缓存Channel的操作就是向内部缓存队列的尾部插入元素...阅读全文

深入理解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 知乎

Harbor 1.9 发布:新增多项企业级功能

的数据并对其所含采取相应的操作。例如,您可以将 Harbor 配置为在成功推镜像后向 Webhook 侦听器一个 POST 请求,从而触 Kubernetes 应用程序的部署,以执行您的测试套件,或者仅仅更新您的 CMDB。 配额(Project Quotas) 配额有助于项目管理员对资源的使用加以控制。具体而言,您可以限制项目所含 tag 的数目,以及项目可占用的存储容量。您可以设置适用于所有项目的全局默认配额,也可以为个别项目设置配额以覆盖系统设置。镜像容量会根据其实际大小进行计算,并会在同时推多个镜像时考虑所有相关镜像之间的层共享情况。配额可以与其他机制无缝协调工作,例如重新 tag、在线垃圾数据回收和保留策略,从而可始终合理管理各个工件,并且不会浪费空间。 Tag 保留...阅读全文

博文 2019-10-09 12:12:04 debian.cn

三种SSL证书之间有什么区别

SSL指的是安全套接层协议(以及传输层协议TLS),位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。 ssl 在市面上多指的是安全证书,SSL证书是数字证书的一种,因为配置在服务器上,也称为服务器证书。 数字证书在广义上可分为:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN证书、WAP证书、代码签名证书和表单签名证书。我们这里介绍SSL证书的类型与区别。 DV(域名型)SSL证书:只验证域名,适合个人网站、博客等站点使用;在网络黑客、钓鱼威胁层出不穷,域名型SSL数字证书可有效保护通过互联网所的数据,为网络账户登录、邮件等机密资讯提供安全防护。安全级别较低。  OV(企业型)SSL证书:验证网站所属单位身份,适合于中型企业级用户使用;企业型证...阅读全文

牛油果ENU团队推出新项目EVO 将空投

律动 BlockBeats 消,5 月 25 日,据官方消,牛油果 Enumivo 团队宣布推出新项目 EVO Chain,旨在复制一条 ETH2。官方表示,将在区块高度 12,520,000 至 12,800,000 区间内进行代币空投。 用户需要在此区间内,向 0x3fEa51dAab1672d3385f6AF02980e1462cA0687b 地址 0 ETH,成功后便可获得 4 EVO,同时团队将获得 1 EVO。单一地址交易次数不限,EVO 总量 1 亿枚。 团队同时表示,对 DPoS 已经失望,此前行于 EOS 链上的项目将会迁移至 EVO Chain 上。...阅读全文

C++ 20 准备发布 C++ 23 提上议程

根据 Reddit C++ 版块上的,C++ 20 已经正式通过委员会草案,这意味着 C++ 20 可以准备布。“在近期 ISO C++ 委员会会议上,我们完成了 C++ 20 委员会草案,并投票决定将国际标准草案(DIS,Draft International Standard)出去,以进行最终批准和布”。 帖子介绍:“在程序上,DIS 可能会被拒绝,但是由于我们的程序和过程,这种情况极不可能生。这意味着 C++ 20 已经完成,并将在几个月后布该标准。” C++ 20 是近十年来影响最大的一个版本,新的特性众多,包括: 模组(Modules)协程(Coroutines)标准库 Concepts 的概念范围(range)constexpr支持:new/ delete...阅读全文

博文 2020-02-16 10:46:16 debian.cn

贪污公司六百万美元:监管缺失的IT运维

Word文档通常会保留创建人的,没想到正是这一点,成了破案关键。据外媒报道,Hicham Kabbaj曾是美国纽约营销公司Rakuten Marketing的IT部门主管。精于“以权谋私”的他创办了名为Interactive Systems的空壳公司,并以新公司的名义向Rakuten Marketing输IT设备。 由于这些IT设备、软件只需要Kabbaj点头同意,所以他顺风顺水地做了4年左手倒右手的生意,牟利600万美元(约合4182万)。 不过,公司走账是需要票的,Kabbaj就是在这里露馅的。 调查人员现,有几张票上对应的硬件序列号对应的是已购老设备,更甚的是,其中几张票还是用Word伪造的,这些原始Word文档显示为Kabbaj的副本。 事情败露地喝么彻底...阅读全文

博文 2020-01-08 10:12:34 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

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

隐私声明

(比如完成一项特定交易、参加一项优惠活动或有奖竞赛活动或根据法律法规要求)使用您的付款和个人身份证。 关于您的其他个人,我们主要应用于如下方面: 根据您的要求向您提供特定服务、产品或;授权您参加一项活动,比如调查问卷、网上论坛或优惠抽奖等; 代表本网站客户、我们的关联公司、其他第三方等向您提供或电子资讯,广告,个性化广告或优惠; 分析用户对本网站的使用方式和使用习惯,以便改进我们的服务; 阻止违法或潜在违法行为,阻止违反本网站用户协议的行为;以及我们在收集特定时向您披露的其他用途。 3. 的披露 我们致力于取得和维护您对我们的任,因此我们使用商业上合理的技术和其他措施,帮助防止您的个人资料丢失、被盗用或遭篡改。同时,请了解我们仅会...阅读全文

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

同点:不再关注于给生产环境推单独的变更,而是关注于想要达到的状态。不再维护一步一步的工作流,而是让服务所有者使用配置来描述他们想要基础架构达到的样子:运行什么job,负载均衡器的搭建,数据库schema的位置等等。 基于这些,Prodspec和Annealing将这些配置转化成统一的结构,随后被执行。执行是安全并且持续性的:自动化系统重复地比较用户模型所表达的预期状态和生产环境的状态,并且在安全的时候自动触reconciliation。服务所有者不再需要将配置变更手动推到生产环境里。 因为我们从2015年左右就开始开Prodspec和Annealing,基于intent的执行(intent-based actuation)这一简单明了的理念如今已经成了实际的标准。Google生产...阅读全文

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

Stackstorm 入门介绍

可扩展套件,与你的基础环境交互,执行流程如下: 从各个服务系统通过push或pull的方式把event传给sensors, sensors会产生一个trigger到规则配置中查询该trigger对应的动作或者工作流将来自工作流的Action到消队列(内置rabbitmq)中Actions到达外部的系统后就执行相应的动作日志和审计历史被推到数据库进行存储(Mongodb)处理后的结果被回规则引擎进行进一步处理 Stackstorm的更新非常活跃,最新的从官方网站上可以看到。目前最新的版本是 2.10.1。 Stackstorm工作原理 目录...阅读全文

深入学习golang — channel

. }() doSomethingForAWhile() <-c // Wait for sort to finish; discard sent value. 上面的示例中,在子goroutine中进行排序操作,主goroutine可以做一些别的事情,然后等待子goroutine完成排序。 接收方会一直阻塞直到有数据到来。如果channel是无缓冲的,方会一直阻塞直到接收方将数据取出。如果channel带有缓冲区,方会一直阻塞直到数据被拷贝到缓冲区;如果缓冲区已满,则方只能在接收方取走数据后才能从阻塞状态恢复。 3. 消传递 我们来模拟一下经典的生产者-消费者模型。 func Producer (queue chan<- int){ for i:= 0; i < 10; i++ { queue <- i } } func...阅读全文

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

RabbitMQ 高可用实现镜像队列

数据也是在三个节点之间同步,但 Queue 的实际存储只会在一个节点。我们到指定 Queue,其实是到指定节点下的 Queue。如下图所示,消至队列 testQueue,无论者通过哪个 RMQ 节点执行,其最终的执行都会是在 MQ03 节点执行消的存储。 说到这儿,可能有的小伙伴就要问了?说好的,RabbitMQ 集群提供高可用性呢?分析一下,RabbitMQ集群搭建完成后,如果不进行任何高可用配置,会有哪些问题呢? 单点故障会导致消丢失:如果 MQ03 节点故障,那么 MQ03 中的消就会丢失无法最大化的利用 RMQ 提升执行效率:既然每次到队列 testQueue 的消都会在 MQ03 节点存储,那么何必搭建集群。 引入 RabbitMQ 的镜像...阅读全文

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

如何在 Debian 下配置邮件服务器

程中的演示只是运行在实验室环境中。测试DNS服务器所有必要的记录都已配置,并且用户之间的邮件可以在相同的服务器上(相同的域交换)。为了让事情更有趣,多邮件服务器可以被部署到不同的域来检查电子邮件如何跨域通,因为必要的DNS记录都已存在。 对外的邮件服务器有效的DNS记录。 Postfix和Dovecot的的设置,可以根据需要进行调整。 警告:如果想要部署邮件服务器任何能够访问互联网邮件服务器,请确保您的SMTP是安全的。互联网以及来自局域网内部的恶意软件都是可以攻击SMTP的。...阅读全文

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

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

据的感知操作。 从上面的细节可以看出,由于epoll内部监控的是底层的文件描述符,可以将变更的描述符直接加入到ready list,无需用户将所有的描述符再进行传入。同时由于epoll_wait扫描的是已经就绪的文件描述符,避免了很多无效的遍历查询,使得epoll的整体性能大大提升,可以说现在只要谈论linux平台的IO多路复用,epoll已经成为了不二之选。 水平触和边缘触 上面说到了epoll,主要讲解了client端怎么连进来,但是并未详细的讲解epoll_wait怎么被唤醒的,这里我将来详细的讲解一下。 水平触,意即Level Trigger,边缘触,意即Edge Trigger,如果单从字面意思上理解,则不太容易,但是如果将硬件设计中的水平沿,上升沿,下降沿的概念引进来...阅读全文

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

协议介绍之深入了解 gRPC

,或者只想给特定的 stream 分配资源,receiver 端就可能不想处理这些数据。譬如,如果 client 给 server 请求了一个视频,但这时候用户暂停观看了,client 就可能告诉 server 别在数据了。 虽然 TCP 也有 flow control,但它仅仅只对一个连接有效果。HTTP/2 在一条连接上面会有多个 streams,有时候,我们仅仅只想对一些 stream 进行控制,所以 HTTP/2 单独提供了流控机制。Flow control 有如下特性: Flow control 是单向的。Receiver 可以选择给 stream 或者整个连接设置 window size。 Flow control 是基于任的。Receiver 只是会给 sender 建议它...阅读全文

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

Go 1.8 正式发布 标准库有显著变化和性能提升

务器现在还支持正常关机了,允许服务器通过在服务所有正在运行的请求之后关闭,而最小化停机时间。 上下文(添加到Go 1.7中的标准库)提供了取消和超时机制。Go 1.8在标准库中添加了更多对上下文的支持,包括数据库/ sql和net包以及net / http包中的Server.Shutdown。 现在使用新添加的Slice函数在排序包中对切片进行排序更简单。例如,要通过“名称”字段对结构体片段进行排序: sort.Slice(s,func(i,j int)bool {return s [i] .Name 更多新版本的添加、改进和修复内容,以及上面列出的改进的详细请查看Go 1.8行说明。 为了庆祝布,世界各地的Go用户组都在本周举办布会,这已经成为Go社区的一个传统,所以如果你错过了...阅读全文

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

Nginx 安全问题致 1400 多万台服务器易受 DoS 攻击

据外媒报道,近日 nginx 被爆出存在安全问题,有可能会致使 1400 多万台服务器易遭受 DoS 攻击。而导致安全问题的漏洞存在于 HTTP/2 和 MP4 模块中。nginx Web 服务器于11月6日布了新版本,用于修复影响 1.15.6, 1.14.1 之前版本的多个安全问题,被现的安全问题有一种这样的情况 —— 允许潜在的攻击者触拒绝服务(DoS)状态并访问敏感的。 “在 nginx HTTP/2 实现中现了两个安全问题,这可能导致过多的内存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844)”,详见 nginx 的安全建议。 此外,“如果在配置文件中使用"listen"指令的"http2"选项,则问题会影响使用...阅读全文

博文 2018-11-09 11:43:37 debian.cn

Golang后端面试题目

技术一面 基础面试 一面是通过电话直接沟通。 go的调度go struct能不能比较go defer(for defer)select可以用于什么context包的用途client如何实现长连接主协程如何等其余协程完再操作slice,len,cap,共享,扩容map如何顺序读取实现set实现消队列(多生产者,多消费者)大文件排序基本排序,哪些是稳定的http get跟headhttp 401,403http keep-alivehttp能不能一次连接多次请求,不等后端返回tcp与udp区别,udp优点,适用场景time-wait的作用数据库如何建索引孤儿进程,僵尸进程死锁条件,如何避免linux命令,查看端口占用,cpu负载,内存占用,如何号给一个进程git文件版本,使用顺序...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

提问的智慧 – 全文

「常见问题解答」(FAQ)、讨论组及文档的链接。如果你的努力(包括阅读 FAQ)都没有结果,这些讨论组就是你最后能取得帮助的地方。这些网站通常会有报告bug(错误)的地方或链接,你可以尝试通过这个方式按照指示反馈。 冒昧地向陌生人邮件或在不熟悉的论坛表主题是一件比较「冒险」的事情。你不要天真地以为一个经验丰富的网站架构师会给你提供免费解答,也不要以为你的问题会在论坛中引起巨大反响,除非你很确定这一点,否则还是去其他地方去吧,或者最好就别了。 在选择论坛和讨论组时,不要被他们的名字迷惑了,先看看FAQ或者版规以明确你的问题是否切合这个论坛的风格。帖之前先翻翻已有的帖子,感受一下论坛的讨论氛围。事实上,善用论坛的搜索功能将会给带来极大的便利,或者这样你就更容易找到答案,即使没有...阅读全文

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

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

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

Nginx 发布 mainline version 1.13.0

Nginx 布了 mainline version 1.13.0(即通常说的开版)。更新内容如下: Change: SSL renegotiation is now allowed on backend connections. 后端连接现在允许 SSL 重新协商 Feature: 用于邮件代理和流模块的 “listen” 指令的 “rcvbuf” 和 “sndbuf” 参数 Feature: t 现在可以使用 “return” 和 “error_page” 指令返回 308 重定向 Feature: “ssl_protocols” 指令的 “TLSv1.3” 参数。 Feature: 当出现登录号时,nginx 现在会记录号的进程的 PID Bugfix: 内存分配错误...阅读全文

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

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求给kube-scheduler,并且将pod记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Apollo 配置中心简单介绍

盖配置修改实时生效(热布) 用户在Apollo修改完配置并布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序版本布管理 所有的配置布都有版本概念,从而可以方便地支持配置的回滚灰度布 支持配置的灰度布,比如点了布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例权限管理、布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题客户端配置监控 可以在界面上方便地看到配置在被哪些实例使用提供Java和.Net原生客户端 提供了Java和.Net的原生客户端,方便应用集成支持Spring Placeholder, Annotation和Spring...阅读全文

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

个人信息保护新规将出台 消费者被短信轰炸将成为历史

工业和化部将会同相关部门尽快布实施《移动互联网应用程序个人保护管理的暂行规定》(简称《规定》)。《规定》将为个人保护提供更加坚实的政策保障。在新规的引导下,多个电商平台已经主动加强了对客户的保护力度。 工业和化部管理局的人士近日透露:“在充分吸收社会各界意见的基础上,工业和化部会同相关部门制定了《规定》的征求意见稿,社会各界提出了一些好的意见和建议,我们正在研究采纳。在此基础上,尽快会同有关部门布实施。” ![个人保护管理](https://wpfile.debian.cn/uploads/2021/06/f676e4a616f30fb.png) 在征求意见稿中,管理部门明确了App开运营者的保护义务。 《规定》要求...阅读全文

分布式运行时 Dapr 知多少

bindings and triggers (资源绑定及事件触) Dapr的Bindings与Azure Functions很类似,其是建立在事件驱动架构的基础之上的。通过建立触器与资源的绑定,可以从任何外部源(例如数据库,队列,文件系统等)接收和事件,而无需借助消队列,即可实现灵活的业务场景。Dapr的Bindings分为两种: Input Bindings(输入绑定):当外部资源的事件生时,借助输入绑定,你的应用即可通过特定的API:POST http://localhost:/收到外部资源的事件,用于处理特定逻辑。Output Bindings(输出绑定):输出绑定允许你调用外部资源。比如,在订单处理场景中,在订单创建成功后,可以将订单通过Dapr的绑定...阅读全文

分布式任务调度平台 XXL

将会主动触一次子任务的执行, 多个子任务用逗号分隔; 22、一致性:“ 调度中心” 通过 DB 锁保证集群分布式调度的一致性, 一次任务调度只会触一次执行; 23、自定义任务参数:支持在线配置调度任务入参,即时生效; 24、调度线程池:调度系统多线程触调度运行,确保调度精确执行,不被堵塞; 25、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度安全性; 26、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群报警邮件; 27、推 maven 中央仓库: 将会把最新稳定版推到 maven 中央仓库, 方便用户接入和使用; 28、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

三个简单而优秀的 Linux 网络监视器

PROGRAM DEV SENT RECEIVED 7690 carla /usr/lib/firefox wlan0 12.494 556.580 KB/sec 5648 carla .../chromium-browser wlan0 0.052 0.038 KB/sec TOTAL 12.546 556.618 KB/sec Nethogs 选项很少:在 kb/s、kb、b 和 mb 之间循环;通过接收或的数据包进行排序;并调整刷新之间的延迟。请参阅 man nethogs,或者运行 nethogs -h。 vnstat vnstat 是最容易使用的网络数据收集器。它是轻量级的,不需要 root 权限。它作为守护进程运行,并记录你网络统计。它默认显示所有的网络接口。使用 -i 选项选择单个...阅读全文

博文 2017-11-07 00:07:38 debian.cn

如何使用 journalctl 清理 journal 日志

(kmsg),默认值为"no"。 此选项可以被内核引导选项 "systemd.journald.forward_to_kmsg" 覆盖。 ForwardToConsole= 表示是否将接收到的日志消给系统控制台,默认值为"no"。 如果设为"yes",那么可以通过下面的 TTYPath= 指定转目标。 此选项可以被内核引导选项 "systemd.journald.forward_to_console" 覆盖。 ForwardToWall= 表示是否将接收到的日志消作为警告给所有已登录用户,默认值为"yes"。 此选项可以被内核引导选项 "systemd.journald.forward_to_wall" 覆盖。 MaxLevelStore=, MaxLevelSyslog...阅读全文

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

NameSilo优惠码 新注册COM仅$7.99

优惠码 优惠内容:注册或转入.biz /.com/ .info/.me /.mobi /.net /.org都可节省优惠1美元,隐私保护。优惠码:DEBIANCN 范围:Namesilo新老用户都可享受该优惠! 地址:http://www.namesilo.com 支付方式:支付宝,paypal,用卡,比特币 注意事项:一个账户只能使用一次,截止日期 : 2018-12-31之前...阅读全文

博文 2017-04-21 23:47:58 debian.cn

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

NameNode,然后再从下一个拥有该 block 副本的DataNode 继续读。 read 方法是并行的读取 block ,不是一块一块的读取;NameNode 只是返回Client请求包含块的DataNode地址,并不是返回请求块的数据; 最终读取来所有的 block 会合并成一个完整的最终文件。 从 HDFS 文件读写过程中,可以看出,HDFS 文件写入时是串行写入的,数据包先给节点A,然后节点A给B,B在给C;而HDFS文件读取是并行的, 客户端 Client 直接并行读取block所在的节点。 9. NameNode 工作机制以及元数据管理(重要) NameNode 工作机制 9.1 namenode 与 datanode 启动 namenode工作机制 第一次启动namenode...阅读全文