Tag Archives | code

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 配置如下:

文中尝试端到端的看下整个过程有哪些组件参与进来,怎么配合工作的。

2 配置

pkg/api/types.go#Probe结构描述了Probe的[......]

阅读全文

Tags: , ,

Comments { 0 }

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 balancing。

简单讲就一句话。能调用[......]

阅读全文

Tags: , , ,

Comments { 0 }

最简单例子图解JVM内存分配和回收

一、简介

JVM采用分代垃圾回收。在JVM的内存空间中把堆空间分为年老代和年轻代。将大量(据说是90%以上)创建了没多久就会消亡的对象存储在年轻代,而年老代中存放生命周期长久的实例对象。年轻代中又被分为Eden区(圣经中的伊甸园)、和两个Survivor区。新的对象分配是首先放在Eden区,Survivor区作为Eden区和Old区的缓冲,在Survivor区的对象经历若干次收集仍然存活的,就会被转移到年老区。

jvm-memory-generation

doudou-closet

简单讲,就是生命期短的对象放在一起,将少数生命期长的对象放在一起,分别采用不同的回收策略。生命

期短的对象回收频率比较高,生命期长的对象采用比较低回收频率,生命期短的对象被尝试回收几次发现还存活,则被移到另外一个地方去存起来。就像现在夏天了,勤劳的doumadoudoudouba常穿的衣服放在顺手的地方,把冬天的衣服打包放在柜子

另一个地方。虽然把doudo[......]

阅读全文

Tags: , ,

Comments { 3 }

fork/join计算Fibonacci数测试性能问题

一、说明

Java 并发之 Fork/Join一文中尝试了一个计算Fibonacci数的例子。即根据Fibonacci数的

[box]Fibonacci(n)=Fibonacci(n-1)+Fibonacci(n-2)[/box]

的递归特征,使用Fork/Join框架来对任务进行分解,创建子任务来执行。本来只是想示例一下功能。在写main函数调用的时候又顺手写了个传统递归的执行方式,Fibonacci的递归太典型了。[highlight]想“欣赏”下,在Fork/Join框架下采用并发方式进行执行的优越性。但是结果却和期望大相径庭[/highlight]。

原因待分析,问题先记录下来。

二、代码:

1. 一个RecursiveTask,可以返回每次计算的值。

2. 调用入口main函数,顺便再改类中写了个[......]

阅读全文

Tags: ,

Comments { 0 }