• 如何在 Linux 下使用 TC 优雅的实现网络限流

    1. Linux 下的流量控制原理 通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shape the data,包括对数据的以下操作: 增加延时 丢包 重新排列 重复、损坏 速率控制 在 qdisc-class-filter 结构下,对流量进行控制需要进行三个步骤: 创建 qdisc 队列 上面提到 Linux 是通过包的排队进行流量的控制,那么首先得有一个队列。 创建 class 分类 class 实际上,就是划分流量策略分类。比如划分两档流量限速 10MBps、20…

    Linux云计算, 技术干货 2022年12月16日
  • LINUX内核网络中的软中断KSOFTIRQD

    1. 前言 之前分享过Linux内核网络数据包的接收过程,当执行到网卡通过硬件中断(IRQ)通知CPU,告诉它有数据来了,CPU会根据中断表,调用已经注册的中断函数,这个中断函数会调到驱动程序(NIC Driver)中相应的函数。驱动先禁用网卡的中断,表示驱动程序已经知道内存中有数据了,告诉网卡下次再收到数据包直接写内存就可以了,不要再通知CPU了,这样可以提高效率,避免CPU不停的被中断。 由于硬中断处理程序执行的过程中不能被中断,所以如果它执行时间过长,会导致CPU没法响应其它硬件的中断,于…

    Linux云计算, 技术干货 2022年12月15日
  • Iptables 介绍与使用

    连接跟踪(conntrack) 连接跟踪是许多网络应用的基础。例如,Kubernetes Service、ServiceMesh sidecar、 软件四层负载均衡器 LVS/IPVS、Docker network、OVS、iptables 主机防火墙等等,都依赖连接跟踪功能。 连接跟踪,顾名思义,就是跟踪(并记录)连接的状态。例如,图 1.1 是一台 IP 地址为 10.1.1.2 的 Linux 机器,我们能看到这台机器上有三条 连接: 机器访问外部 HTTP 服务的连接(目的端口 80) …

    Linux云计算, 技术干货 2022年12月13日
  • Go 语言开源项目使用的函数选项模式

    01  介绍 在阅读 Go 语言开源项目的源码时,我们可以发现有很多使用 “函数选项模式”  的代码,“函数选项模式” 是 Rob Pike 在 2014 年提出的一种模式,它使用 Go 语言的两大特性,变长参数和闭包,可以使我们代码更优雅。 关于变长参数和闭包的介绍,需要的读者朋友们可以查阅历史文章,本文我们介绍 “函数选项模式” 的相关内容。 02  使用方式 在介绍“函数选项模式”的使用方式之前,我们先阅读以下这段代码。 type User struct {     Id int     …

    go开发, 技术干货 2022年12月12日
  • 关于DDoS攻击,这些基本概念你一定要知道!

    不少小伙伴在学习DDoS攻击的攻防原理的时候会觉得略显吃力。这主要是因为理解原理是需要先了解其概念的。 本篇文章是一篇关于DDoS的技术普及帖,关于DDoS基本概念,看这一篇就够了~ 什么是DDoS攻击 DDoS是Distributed Denial of Service的简称,中文是分布式拒绝服务。 这有点拗口吧? 这样,我们先理解下DDoS的前身DoS(Denial of Service),即拒绝服务。 最基本的DoS攻击就是攻击者利用大量合理的服务请求来占用攻击目标过多的服务资源,从而使合…

    技术干货, 网络安全 2022年12月12日
  • 最好用的开源Web漏扫工具梳理

    如果你刚好是某个网络应用程序的所有者,怎样才能保证你的网站是安全的、不会泄露敏感信息? 如果是基于云的安全解决方案,那么可能只需要进行常规漏扫。但如果不是,我们就必须执行例行扫描,采取必要的行动降低安全风险。 当然很多付费扫描器功能会更加全面、严谨,包含报表输出、警报、详细的应急指南等等附加功能。 开源工具最大的缺点是漏洞库可能没有付费软件那么全面。 1. Arachni Arachni是一款基于Ruby框架搭建的高性能安全扫描程序,适用于现代Web应用程序。可用于Mac、Windows及Lin…

    技术干货, 网络安全 2022年12月11日
  • 14 个必须掌握的数据库面试问题

    1 为什么使用数据索引能提高效率 数据索引的存储是 有序的 在有序的情况下, 通过索引查询一个数据是无需遍历索引记录的 极端情况下,数据索引的查询效率为二分法查询效率,趋近于log2(N) 2 B+树索引和哈希索引的区别 B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接,是有序的,如下图: 哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可,是无序的,如下图所示: …

    技术干货, 面试真题 2022年12月11日
  • 20 个最重要的 DevOps 面试题

    DevOps 代表开发和运营。这是一种新的软件开发形式,彻底改变了软件产品的开发和分发方式。DevOps方法论着眼于提供频繁的较小升级,而不是罕见的大型功能集。 IT运营受益于DevOps。在DevOps出现之前,IT团队仍然存在一些内在的担忧。这导致IT团队面临某种程度的意外怀疑。 但是,随着DevOps的加入,这一切都发生了变化,这使IT运营部门可以与组织的其他部门共享这些问题,从而提高了透明度,并提高了IT运营部门与其他团队之间的协调性。 以下部分介绍了前20个DevOps面试问题,这些问…

    Python开发, 技术干货 2022年12月9日
  • 5 个常用的 Python 库

    正文 Python 标准库有超过 200 个模块,程序员可以在他们的程序中导入和使用。虽然普通程序员对其中许多模块都有一些经验,但很可能有一些好用的模块他们仍然没有注意到。 我发现其中许多模块都包含了在各个领域都非常有用的函数。比较数据集、协作其他函数以及音频处理等都可以仅使用 Python 就可以自动完成。 因此,我编制了一份您可能不知道的 Python 模块的候选清单,并对这几个模块进行了适当的解释,以便您在将来理解和使用它们。 所有这些模块都有不同的函数和类。本文包含了几个鲜为人知的函数和…

    Python开发, 技术干货 2022年12月9日
  • 记一次靠谱的 K8S 排错实战过程,硬核!

    一 背景 收到测试环境集群告警,登陆 K8s 集群进行排查。 二 故障定位 2.1 查看 Pod 查看 kube-system node2 节点 calico pod 异常。 查看详细信息,查看node2节点没有存储空间,cgroup泄露。 2.2 查看存储 登陆 node2 查看服务器存储信息,目前空间还很充足。 集群使用到的分布式存储为ceph,因此查看ceph集群状态。 三 操作 3.1 ceph修复 目前查看到 ceph 集群异常,可能导致 node2 节点 cgroup 泄露异常,进行…

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!