Easter79 Easter79
4年前
systemtap脚本实现的NAT端口转换
这会儿不是工作日,这会儿是周六。systemtap就是一个kprobe的DSL,本质上完成的是同一类工作,kprobe用起来比较麻烦,还要自己编写编译内核模块,相比而言,stap就方便很多。既然kprobe可以修改内核结构体的内容,那么也就可以修改网络数据包咯,前面的文章描述了如何迷惑程序员的抓包行为,本文展示一下如何实现一个NAT端口转换逻辑,
Wesley13 Wesley13
4年前
javaIO2
NIO新的输入/输出(NIO)库是在JDK1.4中引入的,弥补了原来的I/O的不足,提供了高速的、面向块的I/O。1.1流与块I/O与NIO最重要的区别是数据打包和传输的方式,I/O以流的方式处理数据,而NIO以块的方式处理数据。面向流的I/O一次处理一个字节数据:一个输入流产生一个字
Stella981 Stella981
4年前
GitOps 与 ChatOps 的落地实践
前言说到GitOps和ChatOps,那就不得不谈到DevOps。DevOps作为一种文化,旨在促进开发、测试和运维人员之间的沟通与协作。而促进合作的方式,往往是使用一系列工具,完成这三个角色的相互协作。这带来的好处也是显而易见的:更快的交付速度和更低的人力成本。获益于DevOps和公有云,一个近百人的研发团队,可以只配备一到两
Stella981 Stella981
4年前
Http长连接200万尝试及调优
对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用,我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比如聊天室或即时消息推送系统等。comet应用具体可见我之前的介绍,在此不多讲。对于这类系统,因为很多消息需要到产生时才推送给客户端,所以当没有
Wesley13 Wesley13
4年前
Java 并发编程:任务执行器 Executor 接口
任务执行器(Executor)是一个接口,位于java.util.concurrent包下,它的作用主要是为我们提供任务与执行机制(包括线程使用和调度细节)之间的解耦。比如我们定义了一个任务,我们是通过线程池来执行该任务,还是直接创线程来执行该任务呢?通过Executor就能为任务提供不同的执行机制。执行器的实现方式各种各样,常见的包括同步执行器、一对一执行
Wesley13 Wesley13
4年前
MySQL并发利器多版本控制器MVCC
    MySQl大多数事务性存储引擎实现的都不是简单的行级锁。基于高性能考虑,他们一般都同时是想了多版本并发控制器(MVCC)。不仅仅MySQL,包括Oracle、PostgreSQL等其他数据库系统也都实现了MVCC,但各自实现机制不尽相同,因为MVCC没有一个统一的实现标准。MVCC可以说是行级锁的一个变种,但是他在多数情况下避免了加锁操作,因此开销更
Stella981 Stella981
4年前
Chaos Mesh® 1.0 GA,让混沌工程变得简单!
ChaosMesh是一个云原生的混沌测试平台,在去年的最后一天,我们开源了这个项目,以帮助大家更好的进行混沌实验。从开源到现在近一年的时间里,ChaosMesh在所有贡献者的共同努力下,在不断完善新功能的同时,也在易用性和稳定性上取得了阶段性的成果。今天,我们自豪的宣布ChaosMesh1.0正式发布!ChaosMesh1.0是一个
Easter79 Easter79
4年前
SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join和Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行join。数据库中的表可通过键将彼此联系起来。主键(PrimaryKey)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这
Wesley13 Wesley13
4年前
Java反射机制及适用场景
什么是Java反射机制?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制。反射的适用场景是什么?1.当你做一个软件可以安装插件的功能,你连插件的类型名称都不知道,你怎么实例化这个对象呢
Wesley13 Wesley13
4年前
mysql 数据库的四种隔离级别
最近在看高性能MYSQL一书,所以对其进行例子分析已巩固自己的印象  数据库的事务操作其实就是一组原子性的操作,要么全部操作成功,要么全部操作失败。  比如说我需要对外销售1张电影票,且登记一下销售信息到另一个表,至少需要以下3个步骤  1.查询电影票数量是否满足销售1张电影票SELECTremain\_countFROM cinemaW