博客

Dockerfile简介

2020-03-08
opensource
docker

Linux文件系统

alt

典型的Linux文件系统由bootfs和rootfs两部分组成:

  • bootfs(boot file system),只读层,主要包含bootloader和kernel,bootloader主要是引导加载kernel,当kernel被加载到内存中后bootfs就被umount了。
  • rootfs(root file system),读写层,包含的就是典型的/dev,/proc,/bin,/etc等标准目录和文件。
...

Kubernetes网络

2020-03-01
opensource
kubernetes

规则

Kubernetes规定网络需要满足以下条件:

  • 所有Pod之间可以互通,不能通过NAT
  • 所有Node和Pod之间可以互通,不能通过NAT
  • 每个Pod拥有唯一的IP
...

Iptables简介

2020-03-01
tips
iptables

工作流

alt

Iptables由表、链和规则组成,从任何网络端口进来的每一个IP数据包都要从上到下的穿过这张图,在大多数使用情况下都不会用到raw和mangle表

表包含链,链包含规则。

...

Tomcat简介

2020-03-01
opensource
tomcat

整体架构

alt

  • Server:代表整个Tomcat,控制Tomcat自身的生命周期
  • Service:对外提供的服务,由多个Connector和一个Container组成
  • Connector:服务的入口,用于处理连接相关的事情,并提供Socket与Request和Response相关的转化
  • Container:提供实际的服务能力,用于封装和管理Servlet,以及具体处理Request请求
...

OS问题定位技巧

2020-02-23
debug
os

CPU

top:

alt

关键点:

  • 键入M,按进程内存占用大小排序
  • 键入P,按进程CPU占用大小排序
  • 观察Cpu(s):id值,空闲CPU时间百分比,值过低,表明系统CPU存在瓶颈
  • 观察Cpu(s):wa值,等待I/O的CPU时间百分比,值过高,表明IO存在瓶颈
...

Java:双重检查锁定模式

2020-02-23
tips
java

首先验证锁定条件(第一次检查),只有通过锁定条件验证才真正的进行加锁逻辑并再次验证条件(第二次检查)

用来减少并发系统中竞争和同步的开销

...