首页
Loop in Codes
取消

Kubernete APIServer Sample

kubernetes从apiserver中独立出来了一个项目:apiserver,可以基于这个库快速实现一个类似kubernetes apiserver的服务。 Generic library for building a Kubernetes aggregated API server. 如果直接阅读kubenetes的apiserver源码,会发现很多实现都位...

kubernetes网络相关总结

要理解kubernetes的网络模型涉及到的技术点比较多,网络上各个知识点讲得细的有很多,这里我就大概梳理下整个架构,方便顺着这个脉络深入。本文主要假设kubernetes使用docker+flannel实现。 整体上,了解kubernetes的网络模型,涉及到以下知识: linux网络及网络基础 docker网络模型 kubernetes网络需求,及flannel网络实现...

使用Kubeadm在CentOS部署Kubernets 1.8.7

主要参考: 官方文档 如何在国内愉快的安装 Kubernetes kubernetes 1.8.7 国内安装(kubeadm) 建议都大致浏览下。这里我也是简单地记录,估计每个人遇到的细节问题不一样。 环境准备 我拿到手的环境docker已经ready: docker (alidocker-1.12.6.22) CentOS 7 上面博客提到的一些系统...

基于Yarn的分布式应用调度器Slider

Apache Hadoop Map-Reduce 框架为了解决规模增长问题,发展出了yarn。而yarn不仅解决Map-Reduce调度问题,还成为了一个通用的分布式应用调度服务。yarn中的一个创新是把各种不同应用的调度逻辑拆分到了一个称为Application Manager(以下简称AM)的角色中,从而让yarn自己变得更通用,同时解决调度性能问题。Apache Slider就是这其中...

Python协程greenlet实现原理

greenlet是stackless Python中剥离出来的一个项目,可以作为官方CPython的一个扩展来使用,从而支持Python协程。gevent正是基于greenlet实现。 协程实现原理 实现协程主要是在协程切换时,将协程当前的执行上下文保存到协程关联的context中。在c/c++这种native程序中实现协程,需要将栈内容和CPU各个寄存器的内容保存起来。在Python这...

写了一个棋牌游戏服务器框架

最近业余时间写了一个棋牌游戏服务端框架:pigy。对于棋牌游戏服务端框架,我的定义是: 分布式的 包含网络棋牌游戏中包括登陆、大厅、游戏框架、数据持久化等基础组件 提供具体游戏框架,游戏逻辑程序员可以基于这个框架focus在游戏的开发上 写得差不多的时候,我在网上搜索了下,发现棋牌游戏源码已经烂大街,自己精力有限,也没有心思和动力去研究现有实现的优缺点而做出一个更好的替代...

协程并发模型及使用感受

协程可以简单理解为更轻量的线程,但有很多显著的不同: 不是OS级别的调度单元,通常是编程语言或库实现 可能需要应用层自己切换 由于切换点是可控制的,所以对于CPU资源是非抢占式的 通常用于有大量阻塞操作的应用,例如大量IO 协程与actor模式的实现有一定关系。由于协程本身是应用级的并发调度单元,所以理论上可以大量创建。在协程之上做队列及通信包装,即可得到一个acto...

实现一个memcache proxy

通常我们会使用多台memcached构成一个集群,通过客户端库来实现缓存数据的分片(replica)。这会带来2个主要问题: memcached机器连接数过多 不利于做整体的服务化;缺少可运维性。例如想对接入的客户端做应用级隔离;或者对缓存数据做多区域(机房)的冗余 实现一个memcache proxy,相对于减少连接数来说,主要可以提供更多的扩展性。目前已经存在一些不错的m...

Xmemcached源码阅读

Xmemcached 是一个memcached客户端库。由于它提供的是同步API,而我想看下如何增加异步接口。所以就大致浏览了下它的源码。 主要结构 针对memcache客户端的实现,主要结构如下: XMemcachedClient 是应用主要使用的类,所有针对memcache的接口都在这里 Command 用于抽象二进制协议或文本协议下各个操作,这里称为Command。...

XNIO源码阅读

XNIO是JBoss的一个IO框架。最开始我想找个lightweight servlet container库,于是看到了undertow,发现其网络部分使用的就是XNIO。所以干脆就先把XNIO的源码读下。 XNIO文档非常匮乏,能找到都是3.0的版本,而且描述也不完全。Git上已经出到3.5.0。我读的是3.3.6.Final。 使用方式 可以参考SimpleEchoServer....