InfraPub 为您找到相关结果 723

深入理解Golang之context

: fmt.Printf("send message: %d\n", <-messages) } } }(ctx) defer close(messages) defer cancel() select { case <-ctx.Done(): time.Sleep(1 * time.Second) fmt.Println("main process exit!") } } 这个例子中,只要让子线程监听主线程传入的ctx,一旦ctx.Done()返回空channel,子线程即可取消执行任务。但这个例子还无法展现context的传递取消信息的强大优势。阅读过net/http包码的朋友可能注意到在实现http server时就用到了context, 下面简单分析一下。1、首先Server在启服务时会创建一个...阅读全文

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

Apache Kafka发布 3.0 正式版

昨天,Apache Kafka 3.0 版本正式发布,这是一个涉及多方面的大版本。在这个版本中,Apache Kafka 3.0 引入了各种新功能、突破性的 API 更改以及对 KRaft 的改进:Apache Kafka 的内置共识机制将取代 Apache ZooKeeper™。虽然 KRaft 尚未被推荐用于生产(已知差距列表),但我们对 KRaft 元数据和 API 进行了许多改进。Exactly-once 和分区重新分配支持值得强调,我们鼓励发者查看 KRaft 的新功能并在发环境中试用它。并且,从 Apache Kafka 3.0 始,生产者默认启用最强的交付保证 ( acks=all, enable.idempotence=true),这意味着用户现在默认获得排序和持久性...阅读全文

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

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

的,但它是的。此外 Google Authenticator 是由 Google 编写的,但不需要 Google 帐户也能工作,多亏了 Sitaram Chamarty 的贡献。 如果你还没有在手机上安装和配置 Google Authenticator,请参阅这里的介绍。 首先,我们需要在服务器上安装 Google Authenticatior 安装包。使用以下命令安装所需的软件包: apt-get update apt-get install libpam-google-authenticator 现在,我们需要在你的手机上使用 Google Authenticatior 工具注册服务器。这是通过运行我们刚才安装的 Debian 软件包完成的,在命令行下运行: google...阅读全文

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

技术部门的 SEO 规范

面上线时确保已加流量统计代码。所有网站通百度资平台、Google Search Console账号。禁止使用session ID、Frame(框架结构)、Flash。已上线网站,除非SEO或运营部门另行要求,robots文件放所有URL及文件(包括图片、CSS、JS)的抓取。后台实时或定期生成并更新XML版Sitemap,包括首页、栏目及翻页、产品/文章页面。是否包括过滤条件页面与SEO部门协调后再确定。新站一律使用响应式设计,不要使用独立移动站或移动版子域名。已使用移动子域名优化的旧站,暂时保持现状,与SEO部门沟通后转为响应式设计。英文网站HTML代码不要出现中文字符,包括注释中。由于各种原因需要改动URL时,旧URL做301转向至新URL。不要使用其它转向方式。由于各种原因改动...阅读全文

博文 2019-03-28 13:58:51 debian.cn

Debian的版本号及distributions

distribution的revision level递增,比如从3.0变为3.0r1,2.2r4变为2.2r5 APT::Default-release 在不同的环境下,我们对debian系统的要求也会不同,比如在生产环境下,我们希望系统是相当稳定的,这时stable就是最好的选择;而对于一个喜欢尝试新功能、新软件的用户,testing或unstable可能更合适些。要达到这样的要求,我们可以在/etc/apt/sources.list文件中只指定一种distribution,比如想使用stable distribution,就在sources.list里只加入stable,这样系统上安装的package的版本都会是进入了stable的版本。但有些时候我们也需要一个混合的系统,比如希望在保持整个系统是...阅读全文

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

Google 宣布新拥堵控制算法 TCP BBR

Google 宣布了 新拥堵控制算法 TCP BBR。Google 官方博客称新算法将 google.com 和 YouTube 的全球网络吞吐量平均改进了 4%,在某些国家改进了 14%+。 Google 解释说,现有的 TCP 拥堵控制算法自 1980 年代,是为低带宽数据传输设计的,解决拥堵主要考虑丢包,也就是在网络堵塞的时候路由器将会丢弃新的数据包。BBR 代表 Bottleneck Bandwidth and Round-trip propagation time,它的拥堵控制采用了不同的方法,考虑了网络实际的数据交付率有多快。根据最近测量的网络交付率和往返时间构建显示模型,最大化近期可用带宽和最小化近期往返延迟。BBR 使用这些数据决定数据发送速率有多快。 Google 已经...阅读全文

博文 2017-07-22 19:42:30 debian.cn

BSD 系统正在死亡?

安全研究员从内核发现的 bug 数量这一角度认为 BSD 正在死亡。安全公司 IOActive 负责渗透测试的总监 Ilja von Sprundel 分析了 BSD 的代码,从 3 大 BSD 发行版发现了 115 个内核 bug,其中 FreeBSD 有 30 个,OpenBSD 有 25 个,NetBSD 有 60 个,大部分 bug 被认为是非常容易发现的。 他报告了这些 bug,但六个月后许多 bug 仍然没有修复。 Linux 内核的 bug 通常存在的时间很短,很快就会修复,但 BSD 的情况不是如此,许多 bug 已经存在了十年甚至更长时间。von Sprundel 特别称赞了 OpenBSD 的代码质量。 【原文来自 CSOOnline】...阅读全文

博文 2018-01-29 11:30:29 debian.cn

Proxy-Go v6.6 发布啦

Proxy-Go v6.6 发布啦。Proxy 是 golang 实现的高性能 http,https,websocket,tcp,udp,socks5 代理服务器, 支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP 端口映射、SSH 中转、TLS 加密传输、协议转换、DNS 防污染代理。 优化了 limitconn 的关闭逻辑, 释放更多资. http(s)\socks 代理增加了–intelligent, 智能模式设置, 可以是 intelligent|direct|parent 三者之一, 默认是:intelligent. 每个值的含义如下. --intelligent=direct, 不在 blocked 里面的目标都直连. --intelligent=parent, 不...阅读全文

博文 2018-12-01 09:52:14 Go v6.6 发布 新增智能模式

Stackstorm 入门介绍

一句话概况:stackstorm是一个事件驱动的自动化引擎。StackStorm 是一坨功能强大的自动化平台,可将通过使用插件封装API的方式,将所有应用程序,服务和工作流程连接起来。这里的所有包括了目前我们常用Gitlab、Zabbix、ELK、AWS 等服务。 Stackstorm 具有很好的可扩展性,灵活性,完美支持 ChatOps 和全操作的API实现。通过Stackstorm 可以将您现有的基础架构和应用程序环境联系在一起,以便您可以更轻松地自动化操作该环境。它特别专注于针对事件采取行动。 便利的故障排除 - 触发由Nagios,Sensu,New Relic和其他监控系统捕获的系统故障,在物理节点、OpenStack或Amazon实例和应用程序组件上运行一系列诊断检查,并将...阅读全文

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

fingerprints 并在稍后进行签署、上传到公共密钥服务器。通常可以在一些较大型的软件活动前和时间/地点都方便的 DD 联系好,在聚会时举办一个密钥签名活动。另外,如果给你签名的只有你的 sponsor,则你的密钥仍不符合要求,因为 Debian 无法确信这份申请是否是你的 sponsor 伪造的。 接下来就是按照 Debian 的官方流程来进行申请。 经过一番辛苦成为 DM 之后,便可以考虑是否要申请 DD 以及可能的申请计划。申请 DD 的要求比 DM 更细致,涉及的方面也更多。DM 和 DD 都拥有或多或少的特权,如此多的要求是为了确保申请者能够正确把握手中的特权,为社区做积极的贡献。如果觉得这个过程好繁琐,那么就不要申请 DM,直接参与到维护过程中,其区别如前所述仅仅是能否直接上传而已。 附...阅读全文

Go 1.9 的新特性介绍

可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的库中都存在这个问题,所以go 1.9之前的解决方案是额外绑定一个锁,封装成一个新的struct或者单独使用锁都可以。 群众的呼声是响亮的,并发map在项目中大量使用,所以Go 1.9中在包sync加入了新的map, 查询、存储和删除都是平均常数时间,可以并发访问。 Monotonic Time 先前的time包的实现都是基于wall time的,但是当机器的时钟调整后会有问题。 比如在计算duration的时候,如果时钟往回拨,可能导致end时间比start时间还早。 所以Go 1.9使用monotonic Time来实现大部分的time中的函数,在计算duration的时候不会出现因为时钟调整出现的误差了。 设计文...阅读全文

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

三大亮点带你看 Linux 内核 5.6

版中,硬件支持也将继续提升。而支持新式无线外设的计划也同样是优先的。 新内核中将增加对 MX Master 3 鼠标以及罗技其他无线产品的支持。 除了罗技的产品外,你还可以期待获得许多不同硬件的支持(包括对 AMD GPU、NVIDIA GPU 和 Intel Tiger Lake 芯片组的支持)。 6、其他更新 此外,Linux 5.6 中除了上述主要的新增功能或支持外,下一个内核版本也将进行其他一些改进: 改进 AMD Zen 的温度/功率报告修复华硕飞行堡垒系列笔记本中 AMD CPU 过热支持 NVIDIA RTX 2000 图灵系列显卡内建 FSCRYPT 加密 Phoronix 跟踪了 Linux 5.6 带来的许多技术性更改。因此,如果你好奇 Linux 5.6 所涉及的全...阅读全文

博文 2020-02-07 11:13:09 debian.cn

如何在 Nginx 中配置 gRPC 的代理

Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务。gRPC 服务做为一个 TCP 服务,配置方式与 HTTP/HTPTS 类似。 安装 Nginx Nginx版本要求:1.13.10+。gRPC必须使用 HTTP/2 传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接的多路复用和流式特性。所以在安装部署nginx时需要安装http/2。使用码安装,编译时需要加入http_ssl和http_v2模块: $ auto/configure --with-http_ssl_module --with-http_v2_module 以明文的方式发布...阅读全文

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

使用 nvme-cli 工具来了解你的 NVMe 驱动器

发现了一个项目,其中有一系列管理 NVMe 驱动器的工具。它被称为 nvme-cli。安装 nvme-cli你可以从你的发行版的包管理器中安装 nvme-cli。例如,在 Fedora、CentOS 或类似系统上:$ sudo dnf install nvme-cli在 Debian、Mint、Elementary 和类似系统上:$ sudo apt install nvme-cli探索 NVMe 驱动器在安装 nvme-cli 后,我想探索我的驱动器。nvme-cli 没有手册页,但你可以通过输入 nvme help 获得很多帮助:$ nvme helpnvme-1.14usage: nvme [] []The '阅读全文

博文 2021-09-26 15:12:24 joseph

NVDIMM-P非易失内存标准公布:断电不丢数据、兼容DDR4

。 - 大容量:支持扩展的内存寻址功能。 - 支持即插即用:在电脑机时可以直接插入标准的双列内存插槽,并立刻与同一总线上的DDR内存交互操作。 NVDIMM-P的主要特征: - 与现有DDR通道完全兼容,包括物理接口、电气性能、协议、时钟。 - 保证为下一代CPU插槽增加的针脚尽可能少。 - 协议支持数据读取时的不确定延迟。 - 确保数据在非易失内存中的事务性操作。 - 从NAND到DRAM多种延迟模式的支持(在模块级别)。 - 内存本身具备高可靠性、链路错误保护功能。 事实上,NVDIMM是一个系列标准,除了这里说的NVDIMM-P,还有NVDIMM-F、NVDIMM-N、NVDIMM-H。 NVDIMM-F本质上就是DDR接口的SSD固态盘,只使用NAND闪存,优点是延迟低(纳秒级别)、带宽高...阅读全文

内网穿透利器frp部署配置指南

frp是一个使用go语言发的反向代理服务,可用于内网穿透,支持tcp, udp协议,为http和https协议提供了额外的能力,且尝试性支持了点对点穿透。 由于ngrok 2.x已经闭,ngrok 1.x已不再维护,所以这里尝试使用frp替代ngrok作为个人的内网穿透工具。 0.前提条件 一台Linux云主机(这里是CentOS 7),并要求具有固定公网IP暴露这台云主机指定端口的能力 有一个域名解析到这个公网IP,如frp.frognew.com和*.frp.frognew.com解析到这个公网IP 1. 下载frp服务端frps和客户端frpc可执行文件 分别在服务器和个人本地机器上,从[https://github.com/fatedier/frp/releases]下载对应平...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

如何在一个U盘上安装多个Linux发行版

U 盘上安装多个 Linux 发行版的方式呢?我们将在本教程中看到如何做到这一点。 如何创建有多个 Linux 发行版的可启动 USB 我们有一个工具正好可以做到在单个 U 盘上保留多个 Linux 发行版。你所需要做的只是选择要安装的发行版。在本教程中,我们将介绍如何在 U 盘中安装多个 Linux 发行版用于现场会话live session。 要确保你有一个足够大的 U 盘,以便在它上面安装多个 Linux 发行版,一个 8 GB 的 U 盘应该足够用于三四个 Linux 发行版。 步骤 1 MultiBootUSB 是一个自由、的跨平台应用程序,允许你创建具有多个 Linux 发行版的 U 盘。它还支持在任何时候卸载任何发行版,以便你回收驱动器上的空间用于另一个发行版。 下载...阅读全文

博文 2017-10-18 13:42:20 debian.cn

Saltstack极高危漏洞: 可获取master权限

这两天配置管理工具 saltstack 爆出了CVSS得分为10分的漏洞。如果你对CVSS的评分没有概念,那么前几年震惊互联网的 openssl心脏滴血漏洞,CVSS base评分是5.0,由此可知这次爆出来的 saltsatck 漏洞是多么严重。 漏洞信息: 该漏洞是 F-secure 研究人员在3月份发现的,目前该漏洞已经在最新版本中修复。本次极高危漏洞,是由两个不同的漏洞引起的,一个是身份验证绕过漏洞 CVE-2020-11651,一个是目录遍历漏洞没有过滤掉不受信任的输入 CVE-2020-11652,从而导致攻击者可以不受限制的访问 salt-master 的整个文件系统。 攻击者获取salt-master的权限后,便可以控制整个被salt-master管理的数据中心的各主机...阅读全文

博文 2020-05-05 18:32:44 debian.cn

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

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

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

Git 介绍与使用详解

前言 Git是目前非常流行的协同发工具,很多网站都使用Git作为代码管理仓库(例如 中国,GitHub),不管是发还是产品、设计师,Git都很适合,而且很多IDE默认集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文

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

CentOS 7.4 发布 安全稳定的 Linux 发行版

CentOS 7.4 发布了。CentOS 是 RHEL(Red Hat Enterprise Linux)代码再编译的产物,而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。 自从版本1503(abrt> = 2.1.11-19.el7.centos.0.1)以来,CentOS-7 可以直接向 bugs.centos.org 报告错误。关于该特性可以从这个页面了解更多。 带来各种新软件包其中包括:python-gssapi,python-netifaces,mod_auth_openidc,pidgin 和 Qt5。 SSH1 支持已从 SSH 服务器中删除。所有被认为是不安全的加密协议和算法已被废弃。了解更多可以看 这里and 这...阅读全文

博文 2017-09-16 13:54:07 debian.cn

Numpy 库准备放弃支持 Python 2

Numpy 是 Python 的一个科学计算的库,提供了矩阵运算的功能,一般与 Scipy、matplotlib 一起使用。今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 2019 年 1 月 1 日起,放弃支持 Python 2。 Python 内核团队将于 2020 年停止支持 Python 2。NumPy 项目从 2010 年同时支持 Python 2 和 Python 3,我们发现自己有限资无力再支持 Python 2 了。因此,我们也计划放弃支持 Python 2。 相应时间如下: 2018 年 12 月 31 日之前,所有 NumPy 发布版均同时支持Python 2 和 Python 3。 从 2019 年 1 月 1 日起,NumPy 的新特性只支...阅读全文

博文 2017-11-18 08:30:29 debian.cn

Ubuntu 19.10 计划于 10 月 17 日正式发布,代号 Eoan Ermine

变更如下: Snap 应用程序的主题支持多显示器 GDM在 ISO 上运送 NVIDIA 驱动程序登录屏幕中的访客会话支持安装程序幻灯片改造将 TLP 移至主要+潜在的新电选项Fwupd 可用作 Snap改进键盘导航改进触摸导航 下载 Ubuntu 19.10 每日构建:http://cdimage.ubuntu.com/daily-live/current/eoan-desktop-amd64.iso...阅读全文

博文 2019-05-14 13:26:43 debian.cn

HHVM 3.24 正式发布:不再支持 PHP 5

HHVM 3.24 终于发布了,此版本包含新功能、错误修复、性能改进和对未来改进的支持工作。值得注意的是,HHVM 3.24 是支持 PHP 5 的最后一个版本,这包括对 PHP 5 扩展 (ext_zend_compat) 的码级别兼容性。官方建议迁移到 Hack 或 PHP 7。 此外,HHVM 3.24 也是对 Debian 7 Wheezy 和 Ubuntu 17.04 Zesty 支持的最后一个版本。 有以下值得关注的更新亮点: In Hack code, reference arguments must now be marked at the call site, e.g. $foo = [3, 1, 2]; sort(&$foo); Support for using...阅读全文

博文 2018-01-17 13:45:09 debian.cn

osquery 4.1.0 发布,操作系统监控工具

aws-sdk-cpp 代码构建添加各种代码质量检查和实用程序 Bug Fixes 将 Windows MSI ErrorControl 设置为 normal 而不是 critical改进 CMake 中子模块的使用修复 MacOS 应用层防火墙表修复 BPF 事件表中的问题Linux 下 PCI 设备表的重构与改进在 Windows processes 表上实现 PID 索引改进 WHERE IN() 性能改进内部 HTTP 客户端 Table Changes 对 Darwin(Apple OS X) 添加了表 alf_services对 Microsoft Windows 添加表 connectivity、default_environment 及...阅读全文

博文 2019-11-07 10:14:24 debian.cn

分布式任务调度平台 XXL

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是发迅速、学习简单、轻量级、易扩展。现已代码并接入多家公司线上产品线,箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

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

Golang 之禅: 如何写优质代码

。 明确处理错误 健壮的程序其实是由处理故障案例的片段组成的,并且需要在故障出现之前处理好。冗余的if err != nil { return err }比出了故障再一个个去处理更有价值。panic 和 recover 也一样。 尽早 return,不要深陷 每次缩进时都会在程序员的堆栈中添加另一个先决条件,这会占用他们短期内存中的 7±2 个片段。避免需要深层缩进的控制流。与其深入嵌套,不如使用守卫子句将成功路径保持在左侧。 并发权留给调用者 让调用者选择是否要异步运行你的库或函数,不要强制他们使用异步。 在启动 goroutine 之前,要知道它什么时候会停止 goroutines 拥有资、锁、变量与内存等,释放这些资的可靠方法是停止 goroutine。 避免包级别的状态 要完成明确和...阅读全文

博文 2020-02-25 20:48:33 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

Debian 11 "bullseye" 发布,带来内核 exFAT 支持

包已安装的情况下,合适的设备可以在使用 USB 端口连接到系统的同时自动设置使用无驱动后端。新的通用 open 命令新增加的 open 命令将作为 xdg-open(默认)或者 run-mailcap 的别名出现,具体实现则由 update-alternatives 系统管理。它旨在作为命令行交互工具,帮助用户使用默认的应用程序打文件;所使用的程序按照具体情况可以是图形界面程序。控制组 v2在 bullseye 中,systemd 默认使用控制组 v2(cgroupv2),它提供了统一的资控制层级架构。如果有需要,可以使用内核命令行参数重新启用旧有的 cgroups;持久化 systemd 日志在 bullseye 中的 systemd 默认启用了持久日志的功能,日志文件存放于 /var...阅读全文

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

Operator 与 kube-prometheus 之二 - 如何监控 1.23+ kubeadm 集群, 安装完成后, 箱即用. 箱即用内容包括: 抓取 apiserver 和 kubelet 指标;(即 serviceMonitor) 配置证书过期时间的相关告警; (即 PrometheusRule) 这里用到的指标有: apiserver apiserver_client_certificate_expiration_seconds_count apiserver_client_certificate_expiration_seconds_bucket kubelet kubelet_certificate_manager_client_expiration_renew_errors...阅读全文

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

Golang Context 探究

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

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

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

本教程将讨论如何在Debian(或Ubuntu)配置一个可工作的邮件服务器。我们知道在邮件服务器使用的主要协议有SMTP、POP和IMAP。在本教程中,SMTP协议使用postfix,POP/IMAP协议使用dovecot。两者都是的、稳定的和高度可定制的。本教程中不会介绍邮件服务器的安全性,这超出了本文的范围。 1.先决条件 每个域必须有一个DNS服务器。建议不要使用Live域用于测试目的。在本教程中,将在实验室环境中使用测试域example.tst。在这个假设域名的DNS服务器应该在至少以下记录。 example.tst的forward zone配置: IN MX 10 mail.example.tst. mail.example.tst. IN A 192.168.10.1...阅读全文

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

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

一、HAProxy简介 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 (2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资和时间管理的用户端(User...阅读全文

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

聊聊很重要的内核技术eBPF

直接集成到应用程序中的高级库。 2:bpftrace bpftrace是Linux eBPF的高级跟踪语言。它的语言受awk和C以及DTrace和SystemTap等以前的跟踪程序的启发。 bpftrace使用LLVM作为后端将脚本编译为eBPF字节码,并利用BCC作为与Linux eBPF子系统以及现有Linux跟踪功能和连接点进行交互的库。 3:Cilium Cilium是一个项目,提供基于eBPF的联网,安全性和可观察性。它是从头始专门设计的,旨在将eBPF的优势带入Kubernetes的世界,并满足容器工作负载的新可伸缩性,安全性和可见性要求。 4:Falco Falco是一种行为活动监视器,旨在检测应用程序中的异常活动。 Falco在eBPF的帮助下审核Linux内核层的系统...阅读全文

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

如何使用 ipset 将单个国家的所有IP加入黑名单

ipset 是 iptables 的扩展,它允许你创建匹配整个地址集合的规则,而不像普通的 iptables 链只能单IP或单网段匹配。 ipset 规则中的IP地址集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,从而减少系统资占用或网络拥塞。IPset 也具备一些新防火墙设计方法,并简化了配置。ipset 的官网:http://ipset.netfilter.org 下面我们以一个实际场景为样例,介绍如何在Debian系统中,使用 ipset 将单个国家的左右 IP段 加入黑名单。 #### 准备工作:安装 ipset、或者网段列表 sudo apt-get -y install ipset wget -P . http://www.ipdeny.com...阅读全文

博文 2021-02-06 16:43:47 joseph

Linus Torvalds回顾Linux内核5.8:Really Big

改了内核码库中所有文件的20%左右。这真的是一个相当大的比例,虽然其中有一些是脚本,但总的来说,工作量不算小,"Torvalds说。 那么最近有什么值得注意的事情发生吗?好像并没有,这位Linux之父表示,一些RCU的修复才是值得关注的,但除了网络方面的工作,大部分的焦点都是针对小的驱动更新。 阅读Linus帖子原文:https://lwn.net/Articles/827819/...阅读全文

博文 2020-08-03 16:00:27 debian.cn

国内首个IPv6公共DNS发布:亦能解析IPv4

举措,减少递归过程,以最大程度实现快速应答。 安全性方面,IPv6公共DNS支持单IP解析限速、DNSSEC安全解析验证,通过安全限速可有效拦截恶意攻击等,既不会出现恶意跳转,也不会有强制性广告出现。 最后,即便是纯IPv6用户,也可以基于DNS64解析服务实现对纯IPv4网络资的请求。...阅读全文

Monit:开源服务器监控工具

.tar.gz 注意:Monit是一个工具,但M/Monit是收费的。 安装 yum install monit 当然也可以下载码安装。 当前使用版本: # monit -V This is Monit version 5.17.1 Built with ssl, with pam and with large files Copyright (C) 2001-2016 Tildeslash Ltd. All Rights Reserved. 常用命令 monit -t # 配置文件检测 monit # 启动monit daemon monit -c /var/monit/monitrc # 启动monit daemon时指定配置文件 monit reload # 当更新了配置文件需要重载...阅读全文

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

AWS省钱攻略:预留实例怎么玩

m5.4xlarge的标准RI以进行匹配? 这种场景下您的两个 RI 能够匹配到 m5.4xlarge 实例费用的75%,并且您只需再购买一个 m5.xlarge 的标准RI,这样就可以完全匹配,您无需重新购买m5.4xlarge的RI。 合并拆分 场景:具有 license 的操作系统,比如 Windows、RHEL;可用区RI 既然大小灵活性匹配这么方便那么我们为什么要进行合并拆分呢,这里要提醒的是,大小灵活性匹配只适用于的免费的OS如Linux/Unix平台的RI,如果我们是需要license的OS 如windows的RI则不适用,另外,如果我们购买可用区范围RI,那么我们也将失去大小灵活性匹配优势,这时候RI合并拆分就派上用场了,废话不多说,直接上例子: 场景三:假设您在新加坡区域购买了两个...阅读全文

博文 2019-08-18 18:26:19 debian.cn

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

Harbor 1.9 发布了,此版本新功能众多,包括 tag 保留和配额、可与 CI/CD 工具集成的 Webhook 通知、数据复制、Syslog 集成以及 CVE 例外策略等安全功能。 Webhook 如果您是项目管理员,可以通过 Webhook 的通知机制,将 Harbor 的项目与您技术栈的其余部分连接在一起。简言之,如果您配置了 Webhook,Harbor 会就把该项目中发生的某些事件(包括推送、拉取、删除镜像和 Helm Charts、镜像扫描及 CVEanqu 漏洞发现)向 Webhook 端点发出通知。通过这些事件,您可以将 Harbor 与其他系统集成在一起,以简化持续集成和发过程。理想情况下,获得 Webhook 的端点应具有一个操作侦听器,用于解释 JSON 格式...阅读全文

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

Debian 使用VSFtpd安装配置架设FTP服务器

Vsftpd的安装: aptitude update //更新数据列表 aptitude install vsftpd //安装vsftpd Vsftpd的文件结构: /usr/sbin/vsftpd —- VSFTPD的主程序 /etc/init.d/vsftpd —- 启动脚本 /etc/vsftpd.conf —- 主配置文件 /etc/pam.d/vsftpd —- PAM认证文件 /etc/ftpusers —-记录不允许访问FTP服务器的用户名单 /home/ftp —-Vsftpd的根目录 此外VSFTPD的日志文件为/var/log/vsftpd.log。 Vsftpd的管理控制。 /etc/init.d/vsftpd start //启动vsftpd /etc...阅读全文

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

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

[On Debian/Ubuntu/Mint] 另外,你也可以从 https://pkgs.org/download/bmon 获取对应你 Linux 发行版的 .rpm 和 .deb 软件包。 如果你想要最新版本(例如版本 4.0)的 bmon,你需要通过下面的命令从码构建。 在 CentOS、RHEL 和 Fedora 中 $ git clone https://github.com/tgraf/bmon.git $ cd bmon $ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel $ sudo ./autogen.sh $ sudo./configure...阅读全文

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

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

。因为收购是域名投资市场正常的交易行为,在这里,重点要说说域名仲裁的那点事。 关天域名仲裁的事儿,最近发生的也不少,有点名气的如淘宝仲裁"HAITAO"双拼,以失败告终。那么,仲裁的根是什么?什么样的行为又会构成仲裁呢? 域名仲裁的依据,一般认为是根据《保护工业产权巴黎公约》第六条之2和《知识产权协议》第16条第3项都规定,禁止复制、仿造或翻译他人的驰名商标用于任何商品或服务。网络作为现实的延伸,国际公约中对驰名商标的保护,同样也延伸到网络世界中,而域名作为网络上一种唯一的、排它性的标志,自然是首当其冲。但是,由于域名注册的自由,放,先得原则,与商标的保护,又存在着一定的冲突和约束,因此,ICANN就针对域名争端制定了《域名争端统一解决政策》。 在这两种原则相冲突的情况下,仲裁机构如何对与...阅读全文

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

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

本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会创建用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地创建其他集群或重新创建现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

AWS EKS 添加IAM用户角色 - SRE运维博客

IAM 用户或角色的 Amazon 资名称 (ARN)。例如: { "UserId": "XXXXXXXXXXXXXXXXXXXXX", "Account": "XXXXXXXXXXXX", "Arn": "arn:aws:iam::XXXXXXXXXXXX:user/testuser" } 确认 ARN 与具有主要集群配置访问权限的集群创建者或管理员相匹配。如果 ARN 与集群创建者或管理员不匹配,请联系集群创建者 aws-auth ConfigMap。 添加对 EKS 集群具有只读访问权限的 IAM 用户 {{< notice info "注意:" >}} 要允许超级用户访问权限以对任何资执行任何操作,请添加 system:masters 而非 system:bootstrappers...阅读全文

博文 2022-12-19 21:15:27 博客园

深入学习golang — channel

. process(r) // May take a long time. <-sem // Done; enable next request to run. } func Serve(queue chan *Request) { for { req := <-queue go handle(req) // Don't wait for handle to finish. } } 我们通过引入sem channel,限制了同时最多只有MaxOutstanding个goroutine运行。但是,上面的做法,只是限制了运行的goroutine的数量,并没有限制goroutine的生成数量。如果请求到来的速度过快,会导致产生大量的goroutine,这会导致系统资消耗完全。 为此,我们有必要限制...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

在这个互联网时代,游戏、电影、照片等数据越来越大,硬盘容量将会面临着前所未有的挑战。虽然传统的机械硬盘可以解决容量问题,但是速度太慢,体验糟糕,并不是最优的个人存储解决方案。我们渴求大容量的SSD,不过超过TB大容量SSD动不动就几千元的售价,对于支付能力有限用户实际上没有意义。SSD的成本主要来于闪存,在TLC闪存能够实现TB容量可惜价格未能降下来。只有不断发新类型的闪存,解决容量与价格的矛盾,才能让SSD真正在大数据时代发挥应有作用。 这时,QLC 闪存就应运而生, 目前,东芝和西数先后宣布成功发基于四比特单元3D NAND闪存芯片,即QLC闪存,这也意味着QLC SSD将要来临。那么,它与TLC闪存又有什么区别,能否取代TLC成为SSD主流闪存之选? 先来了解一下什么是TLC...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Docker 17.06 社区版发布

="_blank" href="http://nginx.com/" >nginx.com.

Thank you for using nginx.

root@85664afff468:/# 用来认证注册表访问的登录证书 可以在Docker for Mac和Docker for Windows中添加证书来访问注册表,而不仅仅是使用用户名和密码。这能让访问Docker Trusted Registery和的注册表和其他任何的注册应用快速而简单。 云版本 Cloudstor卷插件可以在Docker for AWS和Docker for Azure中使用。在Docker for AWS中,对于持久化卷(对于全局的EFS和可添加的...阅读全文

博文 2017-06-30 23:08:57 debian.cn