原生gRPC与RESTful HTTP API并包——gRPC-Gateway实践

众所周知,Google的gRPC体系可谓是相当好用,在有protoc这样的工具加持下,原本要维护调用侧和服务侧两部分代码,现在写完proto文件直接交给protoc编译一下即可,可谓是减少了不少工作量...

<span title='2022-06-28 20:47:23 +0800 CST'>2022-06-28</span>

网络系统基准测试——DPDK Pktgen使用记录

我们自己的数据面系统如何打流测试呢?如果使用Linux协议栈上的测试工具往往是测不出来真正的数据的,而且受制于协议栈,我们最终也无法得到真实的收发情况,因此这时候我们要请出基于DPDK开发的一个打流测...

<span title='2022-05-20 00:15:23 +0800 CST'>2022-05-20</span>

看看Linux Kernel——基于Macvtap互通问题追溯根源

Linux上遇到一个问题——macvtap的虚拟接口无法和parent互通,这个问题让我不禁感到奇怪。以往都是同一个parent上的macvtap间互访,还真没有留意过访问parent是什么样一个情况...

<span title='2022-03-23 20:51:11 +0800 CST'>2022-03-23</span>

Kubernetes与KubeSphere上车指南

2022年了,开发需要各种应用时,不用再像以前那样挨个手工安装一整天了,直接上K8S就好啦~ 这次,博主我上了一套3节点的集群,其中包含1个Master、2个Worker,前端选择了开源的KubeSph...

<span title='2022-02-26 16:56:11 +0800 CST'>2022-02-26</span>

使用Linux内核的ftrace跟踪eBPF问题

好久没写文章了,最近忙于各种事情,再加上过年放假学习,计划文章队列排的老长了。在此,新年第一篇文章,就先祝一下大家新年快乐哈~ eBPF香是香,但是竟然还有内核不支持?博主最近遇到了这么个情况,eBPF...

<span title='2022-02-15 22:56:11 +0800 CST'>2022-02-15</span>

贴贴地气——解决Go语言没有原生RCU一致性原语的问题

众所周知,Go语言里没有原生的RCU一致性原语,这在一些特定场景下,会造成蛮大的性能问题。为了解决这个问题,我们来贴贴地气,在符合适用场景需要的条件下,使用简单粗暴的手段解决问题。 前言 之所以需要RCU...

<span title='2021-12-12 15:23:13 +0800 CST'>2021-12-12</span>

重新定义“家用”路由器——500R不到捡华三商用垃圾(含方案与参考配置)

500元不到买台华三的商用机,28个千兆口,轻松拉满300M宽带,又可以起BGP起VRF,香就完事了。 注意 本文不打广告,仍然以技术为主。要是打广告博主就不会去捡垃圾了 前言 其实博主我跟MT(MikroT...

<span title='2021-11-29 23:49:23 +0800 CST'>2021-11-29</span>

重构——让XDP为轻量SDN数据面再加速

上一篇文章我们一块来看了eBPF XDP的性能之路和场景,文中对于Ring也进行了简单的描述,但是真正当我重构起来那个包时,这么多的Ring究竟在内存中的哪个位置?哪些数据之间又是重叠的?本篇文章,我们...

<span title='2021-11-14 12:49:23 +0800 CST'>2021-11-14</span>

解读eBPF XDP性能之路:它如何向着DPDK看齐?它在实际中又能带来多大效益?

相信使用过Linux的AF_PACKET类型socket的朋友都知道,性能不是特别好,而且似乎引入了一个新的问题——用户态程序要处理所有来的报文(可能也能绑定socket,博主我没有尝试过),这应该是...

<span title='2021-11-07 19:56:11 +0800 CST'>2021-11-07</span>

非国行的Android不能使用国行的Watch4?不指望三星,自力更生完美解决

前几天博主我入手了三星的Galaxy Watch4,起初是在一家淘宝店买了港行的,无奈老板迟迟找不到货,想着有那么多年玩机的经验,搞个国行的应该也能有解决办法,就上了国行。没想到,这水,有点深。虽说最终...

<span title='2021-10-10 17:30:21 +0800 CST'>2021-10-10</span>