Zeusro Blog

Just for freedom

分析redis的各种使用情景

使用docker-compose演示redis的各种使用情景,最后介绍了codis和kubernetes方案 总结 模式 特点 单机版-RDB 备份快,但数据可能不完整 单机版-AOF 备份慢,但是数据比较完整 1主...

iptables

理解kubernetes的service流量转发链路

基本 3 个协议:TCP,UDP,ICMP 4 个状态:NEW,ESTABLISHED,INVALID,RELATED 4个表 raw:高级功能,如:网址过滤。 mangle:数据包修改(QOS),用于实现服务质量。 net:地址转换,用于网关路由器。 filter:包过滤,用于防火墙规则。 5个链 PREROUTING链:用于目标地址转换(DNAT...

CIDR

CIDR是一种表示网段的工具,格式比较简洁. CIDR表示方法:IP地址/网络ID的位数 一开始我总是不懂最后那位数字的关系,后来又被CIDR的IP地址给迷惑了, 后来我明白了,斜杆后面的数字表示保持不变的IP位数 IPV4是8*4=32位的.举个例子,192.168.15.0/19(等价于192.168.0.0/19)表示192.168.0.0-192.168.31.255这个网段...

kubernetes的timeout问题

kubernetes+alpine+php特别容易出现访问外网/解析外网地址的时候出现超时的问题. 原因 docker容器访问外网的时候,整个完整路径是这样的. 容器–>主机–>外网–>主机–>容器 容器到主机之间的流量要经过源地址转换(SNAT)才能顺利流通. SNAT就像是一个搬运工,把砖(流量)从容器搬到主机 如果一个主机上面运行多个容器,并发访问外...

可能是最全的java线程指南(1-4)[任务调度类_Future系]


可能是最全的java线程指南(1-3)[任务调度类_CompletionService系]

1 2 graph TB A(CompletionService<V>)-->B(ExecutorCompletionService) CompletionService 可自行实现该接口.这是一个任务队列. 取出队列元素的poll和take方法 take会阻塞知道队列出现结果 poll使用的前提是确保队列已经有结果,不然贸贸然使用会出现空指针.可以指定一个...

可能是最全的java线程指南

java.util.concurrent这个包里面定义了各种线程相关的集合和类,接口.抽丝剥茧之后,我对那句”把我祖传的java包传给你”有了更深的理解.这个继承树看起来非常蛋疼. 不过最后我还是剥离分解,整理得出此文. 写到一半本来想放弃来着,因为这个网站提供了大量例子 导航 可能是最全的java线程指南(1-1)[任务调度类_Callable系] 可能是最全的java线程...

可能是最全的java线程指南(1-2)[任务调度类_Executor系]

1 2 3 4 5 6 7 graph TB e(Executor<V>)-->es(ExecutorService) es-->se(ScheduledExecutorService) es-->aes(AbstractExecutorService) aes-->tpe(ThreadPoolExecutor) tpe-->ste(Schedule...

可能是最全的java线程指南(1-1)[任务调度类_Callable系]

1 2 3 graph TB A(Callable<V>)-->B(DocumentationTool.DocumentationTask) A-->C(JavaCompiler.CompilationTask) 一般情况下是配合ExecutorService来使用的,在ExecutorService接口中声明了若干个submit方法的重载版本: 1 2 3...

go的不完全避坑指南

在翻阅kubernetes的文档时,里面刚好谈到go一些注意事项。 结合以前遇过的坑爹API,汇成此文. 语言特性 数据切片 原则是取下标,不取上标 1 2 3 4 5 a:=[]int{0,1,2,3,4} a=a[:] a=a[2:4] //从第[2]位起取,直至[4-1]位,所以结果只有2个元素 fmt.Printf("len(a):%d ; cap(a):%d; v...