戏(细)说Executor框架线程池任务执行全过程(下)

归档下发表于infoq.com 2015年6月的两篇文章。本来是一篇文章,经过Infoq编辑Alice Ding建议,拆分为<上>和<下>两部分。谢谢Alice对文章的细心校对,帮我发下了其中的很多问题。添加下infoq要求的声明:本文为InfoQ中文站特供稿件,首发地址为:http://www.infoq.com/cn/articles/executor-framework-thread-pool-task-execution-part-02 。如需转载,请与InfoQ中文站联系。

内容综述

基于Executor接口中将任务提交和任务执行解耦的设计,ExecutorService和其各种功能强大的实现类提供了非常简便方式来提交任务并获取任务执行结果,封装了任务执行的全部过程。本文尝试通过对j.u.c.下该部分源码的解析以ThreadPoolExecutor为例[......]

阅读全文

Tags: , , , , ,

Comments { 9 }

从Search Sort到Join

发表于《程序员》2015年4月B的一篇文章,在博客归档下。根据杂志社要求,在自己博客发表该文章亦须注明:本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

想通过原理来说明一些技术白皮书上“什么时候应该使用什么”这个“应该”后面的原因。通过数据结构中经典的排序查找算法来推倒解释数据库中几种经典的表连接背后的算法原理,和原理决定的在各种数据库中不同的应用和限制。以简单的算法来讲出数据库系统中看着核心强大功能的本质的算法设计。较之白皮书中不同数据库的不同描述,尽量去除差异,通过原理来描述功能,做到深入浅出。

一、前言

Join的语义是把两张表的通过属性的关联条件值组合在一起,一般意义上数据库范式越高,表被拆分的越多,应用中要被Join的表可能会越多。在我们日常开发中几乎找不到不涉及Join的SQL语句,哪怕未显示包含Join这个关键字。[......]

阅读全文

Tags: , , , , , ,

Comments { 0 }

B树在数据库索引中的应用剖析(发表版本)

最近一篇发表于《程序员》2014年6月刊上的文章。有点遗憾发现,有些部分被编辑修改过了,读起来有点怪怪的。最典型的是习惯于对某些比较经典的定义引用wikipedia或者原始白皮书中原始的E文,在文中发现都被硬译过了,表达的意思自己都有点看不懂了!

最终修改后提交的版本归档下:

引言

关于数据库索引,随便Google一个Oracle indexMysql index总能得到“某某索引之n条经典建议”之类大量结果。笔者认为,较之直接借鉴,在搞清实际需求的基础上,对备选方案的原理尽可能深入全面的了解会更有利于我们的决策。因为某种方案或者技术呈现出某种优势(包括可能没有被介绍到但一定存在的限制),不是厂商的白皮书这样规定,是由实现机制决定的或者说本身的结构决定的。

本文重点介绍数据结构中经典的树(B树)结构在数据库索引中的经典应用,也会涉及到几种数据库中对此支持的细微不同,以期比较完整的[......]

阅读全文

Tags: , , ,

Comments { 0 }

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

宝贝的幼儿园老师都是漂亮活泼又富有爱心的小天使一样的人物,非常神奇的教会了宝贝们很多我们家长们都搞不定的事情,非常有办法的完全不用发火的将这些淘气的小家伙们修理的服服贴贴,在小宝贝们眼里简直就是神一般的存在,当然在家长眼里也是。

如果你以为这就是全部,那就大错特错了。就在这两天发现了,她们居然也是深谙各种计算机中的算法。不得不偷着怀疑这些白天在学校里的陪孩子们玩的小姑娘们下班后是不是在菊厂或者其他公司写代码。IMG_20171029_214307

这不这两天在家长群里发了消息,就小露了一手。这个案例的背景是要收集到每个宝贝的家长对一个重要通知的确认。上级的重要通知,每个家的家长都要确认。如果你说请在群里回复“收到”那简直弱爆了。最终怎么确认每个都收到了。

看看我们美女老师设计的算法。如右图所示,每个家长的回复一个序号+宝贝名+收到,序号是根据前面的回复次序i++上来,并且每个回复要求追加在前面一个回复的后面。[......]

阅读全文

Tags: ,

Comments { 1 }

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 }

内推职位–华为云计算

 

发布一个招聘信息,有意向的同学简历可以发到下面的两个邮箱,机会比较好,部门正在扩大规模。

部门:华为云计算PaaS

职位:云计算开发工程师,架构师,解决方案架构师,测试工程师,测试架构师

技术关键字:Kubernetes、Mesos、Openstack、Docker、Kafka、Redis、Nginx、Netflix等。

开发语言:GO、Java、C/C++、Python等

要求:本科以上,5年+

Base:杭州、深圳、西安、北京、南京

加分:了解熟悉AWS、AZURE、GAE等相关

级别:15,16,17,18。。。

 

Mail:idouba@idouba.net  cc: zhangchaomeng@huawei.com

Tags: , ,

Comments { 1 }

古城贼文化

thief吃完晚饭与淋波&宝强在园区周边溜达一圈,不知怎么的扯到了小偷和被盗这个悲催的话题。三个人各自讲了自己经历的这方面的糗事,居然洋洋洒洒的扯了咕咚3000步。发现无论是数量还是质量还是精彩指数都完爆那两位,而这些素材都得益于在家乡古城的那几年经历,然后晚上回来虽然很晚了还是把这些归纳整理了下。

lb记忆最深刻的是在解放路上图书大厦的那次遭遇。那会儿刚从东北的铁路工地上回到家乡的这个城市,好久找不到工作,最后在和平门里一个老民居的公司里跑业务送东西。无意中撞到附近解放路上图书大厦里,后来就每天上午在这里看半天书,下午接着去跑业务。到现在能从搞工地的工程跨界到另外一个工程,也是这阵子开的头。和那位君子(后文中都君子,是简称,不是尊称。灵感于小时候小人书里有梁上君子的说法)的偶遇也就发生在书城下面的存包处。那天正在存包时突的感觉裤兜里有点动静,伸手一看,一个大镊子正夹手机玩外拽。有点惊慌,[......]

阅读全文

Tags:

Comments { 0 }