李鼎的博客

宁静致远

远程调用服务(RPC)和消息(Message Queue)对比及其适用/不适用场合

在阿里的平台技术部参与开发了Dubbo(远程调用服务)和Napoli(消息解决方案),又给网站应用支持这2个产品很长一段时间,了解了这2个产品的实现及应用对这两个产品的用法。 大部分情况下,“给定场景下应该使用这两个产品中哪个”这个问题,大家都会容易决定,而且不需要多少讨论。 我为什么要拿出来讨论一下: 一些场景会比较模糊,觉得都可以使用。这时需要知道产品缺点,而不是看到优势。 ...

准备一个安全可靠的发布流程

转自发在公司博文:准备一个安全可靠的发布流程 Dubbo注册中心的发布上线有段时间常常出问题,发布注册中心就是一次冒险。 # 期间也因此吃了些故障。 为了解决这个问题,Dubbo Team专门讨论过一次,梳理发布流程,给出问题的解决方法。 虽然针对的是Dubbo注册中心,其中的最佳实践是通用的。 关键字 角色 vs. 操作 操作者 & 检查者 (发布过程要2个人一起参...

发布及其检查的自动化实践

转自发在公司的博文: 发布及其检查的自动化实践 这里记录的是Dubbo注册中心的发布过程中的自动化改进点。实践是通用的,希望可以能给你一些借鉴和启发。 Dubbo注册中心记录整个网站服务信息,服务消费者(Consumer)通过注册中心获得服务提供者(Provider)列表,才能完成服务调用。注册中心是网站服务的一个关键组件。 # 现在一个站点的注册中心上的服务Consumer和Provi...

拷贝复制命令行输出放在系统剪贴板上

为什么要这么做? 直接把命令的输出(比如grep/awk/sed/find或是你的程序输出结果)放到剪切板上,这么就可以在IM中CTRL + V粘贴后发出去。 避免操作的繁琐和跳跃:把结果输出到文件、用文本编辑器打开文件、选中文本、CTRL + C。 通过命令将文件内容拷贝到剪切板,以避免拷贝错误、操作的跳跃(跳到文件编辑器) Windows下 使用系统自带的clip命令。...

惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

5年前倒腾过一次cygwin,当时体验感觉不好。到现在一直用的是GNU utilities for Win32,在Windows的CMD中使用*nix的命令工具包。 GNU utilities for Win32很久没有更新,utils的版本太低,很多功能没有(比如grep输出不支持彩色输出的选项–color)等等。另,在Windows的“cmd的自动补全”、“命令历史”、“bat编程”太...

代理重定向策略及其用户感受的分析

原本是写一篇生活的博文,现在看来,只要把标题“代理重定向策略及其用户感受的分析”,就是一篇技术博文了。 顺手也发到了公司的博客上:代理重定向策略及其用户感受的分析 。 =========================== 割了吧 =========================== 大家会碰到类似这样的事情,比如,找你的租房中介负责人让处理一下空调坏了,中介负责人回答你说“我现在不...

常用的绘图约定——提高绘图和读图的效率

这段时间看了一些图相关的内容,MindMap、《看清你的思维图谱》。以前看过一些UML(统一建模语言)的书。 绘图中使用的约定要和读者的识别能力匹配。UML把绘图规范做得很强劲,而一般的读者都不会知道太多UML的约定;过多细节也会让绘图和看图都太累,吃力不讨好。Robert大叔在《UML:Java程序员指南》一书中推荐以简单有效的方式来用UML。细读UML规范、把UML用得很细,感觉偏离了...

Linux/Unix的精巧约定两例及简析:目录权限和文本行数

学玩*nux时候,碰到的一些问题,弄明白了后也就过去了。今天看到旁边的同学对目录权限有些模糊,给解释了一下。想想不如把这些问题都记下来。 设计其实包含的是一套约定。能运行、解决问题的约定都是可用的约定。但解决的多种约定方式或说是设计中,作一些比较可以感觉到哪个会更统一更简单。下文提到的两例Linux/Unix约定说明后,我也简单分析一下约定,找出看似复杂或是不直觉约定中内部包含的简洁统一。...

任意挑一年,一号是星期一的月最多有几个?最少有几个?

前面的博文“任意挑一个月,一号是星期一的概率”末尾留下了本文问题。 热爱自然科学的好骚年在微博中给出的解法,并给出了运行结果。这里完整的记录一下。 解法说明 按照热爱自然科学的好骚年在这条微博中给出的解法: 无论是哪一年,1月1号只有星期一至星期日这7种情况;除2月(因为润年的变化,有28天、29天2种情况)外各个月的天数固定;所以每年的日期和星期的组合只有7*2种情况。 ...

Dubbo的2个版本并行的开发模式

新功能的开发 和 稳定性的保持 对产品都很重要。 但是添加新功能对影响稳定性,如何操作来对两者都有保障? 下面把Dubbo的一个开发实践记录如下,希望给大家借鉴。 2个版本并行开发 BugFix版本,低版本,比如2.4.x。是GA版本,线上使用的版本,只会BugFix,升级第三位版本号。 # 这个版本可放在SVN的Fix分支上。 新功能版本,高版本,比如2.5.x。加新功能...