开篇词 如何构建一个可靠的分布式系统?

你好,我是周志明,一名纯粹的软件开发者。之所以说“纯粹”,是因为我想强调,研究技术、编写程序不仅是我养家糊口的技能,也是我最大的兴趣爱好。

在十几年的职业生涯里,我有过很多种不同的标签。比如说,企业管理者、实验室研究员、技术布道师、计算机作家,等等。它们都有一个共同点,就是强调要把自己的想法、理念分享出来,影响他人。

所以,你很可能是从《深入理解Java虚拟机》这一类技术书籍知道我的名字的。确实,我之前出版过7本计算机技术类的书籍,还写过两部开源文档。特别开心的是,这些原创技术书的口碑和销量都得到了大家的认可,其中有四本书在豆瓣上的评分还超过了9分。现在,分享与布道这件事儿也成了我在技术与代码之外的另一个兴趣,当然它也给我带来了很多机会和荣誉。

不过除了分享和布道,其实最贴合我的标签,还是程序员。对我来说,这也是我最看重的身份。十几年间,我从一个面向业务逻辑与局部功能编码的程序员,逐步成长为了一名对系统全局负责的技术架构师。现在,我主要是在做一些大型企业级软件的研发工作,也参与和主导过多个国家级的软件项目。

那么,作为一名架构师,在软件研发的过程中,最难的事儿,其实并不是如何解决具体某个缺陷、如何提升某段代码的性能,而是如何才能让一系列来自不同开发者、不同厂商、不同版本、不同语言、质量也良莠不齐的软件模块,在不同的物理硬件和拓扑结构随时变动的网络环境中,依然能保证可靠的运行质量。