爱豆吧!

idouba@beta.

月圆满,人圆满,中秋别祖母

2018中秋,十多年了第一次在这天回到家里。不是为团聚,而是为离别。 昨晚九点四十上接到的电话,祖母走了。当时没有难过,可能是因为还没想好接受。前天刚视频过,老太太脸色上看人还胖了点,和我说了许久 然后,然后人就不行了。实在忍不住捶胸,吓坏了客厅的孩子。 知道当前这种距离格局下这是迟早的,但没想到会来的这么快这么突然。真到来时还是没法接受。 悔恨,懊恼,有点扭曲的心里撕裂的疼。 前天中午视频的时候有点漫不经心,可能是上班中午困了吧。老太太来来回回就是这么几句:娃多大了,上学好好去的吧,不要呵斥娃,有话好好 Read more →

Istio技术与实践02:源码解析之Istio on Kubernetes 统一服务发现

【摘要】 本文基于Pilot服务发现Kubernetes部分源码重点介绍在Istio on Kubernetes环境下,如何基于Pilot的Adapter机制实现Istio管理的服务直接使用Kubernetes service来做统一服务发现,避免了其他微服务框架运行在Kubernetes环境时上下两套服务目录的局面。并以此为入口从架构、场景等方面总结下Istio和Kubernetes的结合关系。 前言 文章Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制结合Pilot的代码实现介绍了Ist Read more →

Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制

前言 本文结合Pilot中的关键代码来说明下Istio的服务发现的机制、原理和流程。并以Eureka为例看下Adapter的机制如何支持多云环境下的服务发现。可以了解到: 1. Istio的服务模型; 2. Istio发现的机制和原理; 3. Istio服务发现的adpater机制。 基于以上了解可以根据需开发集成自有的服务注册表,完成服务发现的功能。 服务模型 首先,Istio作为一个(微)服务治理的平台,和其他的微服务模型一样也提供了Service,ServiceInstance这样抽象服务模型。如Service的定 Read more →

详析Istio最新v1alpha3 流量管理规则

前言 isto提供了一种简单的语法来描述如何进行流量管理。可以给服务配置熔断、超时、重试等规则,也可以配置规则来切分流量从而实现金丝雀发布、A/B测试等发布功能。一个典型场景如官方文档中的case,将一定比例的流量或者满足一定条件的请求的流量切分到一个特定版本上。 Istio的route rule从v1alpha1到v1alpha3 变化特别大,可以看出对规则设计上完全进行了重构。看上去v1alpha3功能上更强了,可以预见未来1.0后alpha3风格的语法因为提供了更强的表达能力,将逐步取代alpha Read more →

Opentracing 调用链服务端埋点

1 前言 通过一个最简单的代码例子来看使用opentracing在服务端埋点的逻辑。因为调用链的抽象模型都是来自dapper这篇论文,所以其他的方式也是类似,只是接口方法上稍有不同。 2 关于服务端埋点 主要流程看上是: 收到请求 从通信协议(如常用的HTTP header)中解出客户端传递的trace; 构造span 保存span 服务端返回请求 关闭span,将span的数据结构上传到调用链的数据存储节点。 下面结合一个例子中的额使用看下2 3 4 6四个调用链埋点步骤具体做了哪些事情。 3 主要流程 以最典型的http服务端为 Read more →

论CAS在幼儿园点名中的应用

宝贝的幼儿园老师都是漂亮活泼又富有爱心的小天使一样的人物,非常神奇的教会了宝贝们很多我们家长们都搞不定的事情,非常有办法的完全不用发火的将这些淘气的小家伙们修理的服服贴贴,在小宝贝们眼里简直就是神一般的存在,当然在家长眼里也是。 如果你以为这就是全部,那就大错特错了。就在这两天发现了,她们居然也是深谙各种计算机中的算法。不得不偷着怀疑这些白天在学校里的陪孩子们玩的小姑娘们下班后是不是在菊厂或者其他公司写代码。 这不这两天在家长群里发了消息,就小露了一手。这个案例的背景是要收集到每个宝贝的家长对一个重 Read more →

kubernetes liveness probe 流程

1 概述 kubernetes提供了的Probe可以进行健康检查。 https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ 对pod中的每个容器通过配置liveness或者readiness。 当liveness probe failed后,该container会杀掉,并重新创建;而readinessProbe失败,则该pod ip 会从service的endpoints列表中删除,即隔离到该后端的请求。 如liveness 配置如下: livenessProbe: httpGet: port: 10252 path: “/healthz” initialDelaySeconds: 15 timeoutSeconds: 15 文中尝试端到端的看下整个过程有哪些组件参与进来,怎么配合工作的。 2 配置 pkg/api/types.go#P Read more →

kubernetes federation 工作机制之资源对象同步

1 前言 希望通过本文最简单的方式向熟悉k8s的人说明白其上的federation是干什么的,如何工作的。 关于federation,比较官方的说法是:集群联邦可以让租户/企业根据需要扩展或伸缩所需要的集群;可以让租户/企业在跨地区甚至跨地域的多个集群上部署、调度、监测管理应用。通过集群联邦,租户/企业可以在指定集群上部署应用,可以拉通私有云和公有云建立混合云(hybrid cloud)。 如在design-proposal 中描述的federation提供了cross-cluster scheduling, cross-cluster service discovery, cross-cluster migration, cross-cluster**ing and auditing, cross-cluster load Read more →

古城贼文化

吃完晚饭与淋波&宝强在园区周边溜达一圈,不知怎么的扯到了小偷和被盗这个悲催的话题。三个人各自讲了自己经历的这方面的糗事,居然洋洋洒洒的扯了咕咚3000步。发现无论是数量还是质量还是精彩指数都完爆那两位,而这些素材都得益于在家乡古城的那几年经历,然后晚上回来虽然很晚了还是把这些归纳整理了下。 记忆最深刻的是在解放路上图书大厦的那次遭遇。那会儿刚从东北的铁路工地上回到家乡的这个城市,好久找不到工作,最后在和平门里一个老民居的公司里跑业务送东西。无意中撞到附近解放路上图书大厦里,后来就每天上午在 Read more →

稀松!对不住杭州,对不住G20

注:这是第一篇用手机敲出来的文字,每天下午五点半开始在医院挂那瓶红色肺炎专用药的那四个小时。 熟悉的时间又来到这个最近开始熟悉的地方。这两天杭州g20,今天周末,临出门看了眼电视里习主席G20开幕布上的演讲。 右手上扎的针眼太有点多,今天换左手。腾出右手来闲着想记点东西。 这周过得和平时很不同。和很多生活在这个城市的人感觉一样,路上很空,街道人很少。连输液这边的护士都说这里现在的人都比平日少了好几成。与现实周围形成反差的是朋友圈里很热闹,名种晒图,大江南北。 对不住大家,对不住这个盛世的气氛。这周一个小 Read more →