分类 默认分类 下的文章

runc容器逃逸漏洞 CVE-2019-5736

简单地说就是在容器内可通过exec替换掉宿主机的exec来以full privilege的root权限shell。2019年2月11日,研究人员通过oss-security邮件列表(https://www.openwall.com/lists/oss-security/2019/02/11/2)披露了runc容器逃逸漏洞的详情,根据OpenWall的规定EXP会在7天后也就是2019年2月18日公开。修复方法,升级18.09.2或以上版本的docker,或者升级runc到1.0.0-rc4。升级runc需要停止docker,为了避免业务出现问题需要逐一对节点做下线替换处理。这里提供了了一...

Continue Reading...

Service Mesh - Istio性能之殇

Service Mesh这个概念在2017年开始爆炸式增长,同时Spring、Linkerd、Istio等Service Mesh的出现实现可谓是百家争鸣,文体两开花。Istio从我当时开始关注的他的0.3版本经过无数的bug fix,2次API更新,已经经历了1.0 release。撰写本文的时候Istio是1.0.3。首先我想说下为什么我们选择Istio作为考量对象:首先考虑通用性,我们业务比较复杂技术栈有Go、node、python... 因此需要一种侵入性较低的方案,而且显然一口气转Spring不太现实。其次考虑稳定性,Istio由Google、IBM、Lyf支持并且已经在IBM...

Continue Reading...

Golang 弹幕服务器优化之一 调度器

在go里的goroutine的调度实现的是 M:N 模型, g、p、m 三者调度逻辑非常复杂涉及到抢占、解绑等等细节,这里就不展开讨论现细节。package main func main() int { return main; } 编译之后汇编结果为 TEXT "".main+0(SB),$0-0 MOVQ (TLS),CX CMPQ SP,(CX) JHI ,16 CALL ,runtime.morestack00_noctxt(SB)函数在运行过程中栈大小可能出现不够用的情况,G被调度时会将 stackguard0 与 ...

Continue Reading...

Golang 弹幕服务器优化之 一 心跳包

TCP协议层提供了个套接字选项SO_KEEPALIVE用于探测TCP链接是否正常,避免僵死链接浪费资源。百毒一搜SO_KEEPALIVE可以看到各种告诉你怎么用。某些情况下的确可以很好工作,但是。。。。参考Linux内核/net/ipv4/tcp_input.c代码static void tcp_keepalive_timer (struct timer_list *t) { struct sock *sk = from_timer(sk, t, sk_timer); struct inet_connection_sock *icsk = inet_csk(sk); ...

Continue Reading...

IDCF日本这个节点回程路由的BBTEC被撤掉了

AS23816 Yahoo Japan Corporation AS17676 Softbank BB Corp. AS24572 Yahoo Japan AS2914 NTT America, Inc.中国方向的BB线路可能因为流量过大被切走了,取而代之的是的IIJ,晚高峰简直要爆炸。 2 210-140-199-253.jp-east.compute.idcfcloud.com (210.140.199.253) 0.353 ms 0.363 ms 0.345 ms 3 158.205.95.57 (158.205.95.57) 0.340 ms...

Continue Reading...