目录
随写作进程迭代,如果在公众号上看到本文,可以点击阅读原文查看最新目录。
以下为序
0.序
之前的文章谈到了未来几年将以自我认知核心,从专业的深度和通用力的广度来全面《构建个人的知识体系》的想法。
最近的确一直在写作,但包括一系列多元思维模型在内的文章都是认知方面的内容,在自己的专业领域上还没怎么投入,所以从这篇文章开始,在未来的三到六个月之内,我将写一本自己专业领域的电子书。
毕竟工作是互联网开发,公司也是大型互联网企业,所以主题就定为《大型网站技术原理》。以过去两年多的工作经验为基础,并通过阅读专业书籍和一些第三方资料完成这一目标。
说到这个其实有一本类似的书《大型网站技术架构》,但毕竟个人经验不足,还不足以放上架构这种字眼,所以本书内容更侧重底层原理,相对不那么复杂。
1.写作大纲
以下为本书暂定的大纲,会随着写作进程不断迭代。
2.内容概览
本书内容分为三块:基本原理及思考,核心模块和系统设计。
2.1 基本原理及思考
在软件开发领域,各种语言,框架层出不穷,前几年的大数据,云计算和今年的人工智能更是给本来就火的计算机技术添了把火。但终究万变不离其宗,一些基本的原理都是相通的。
比如谈分布式系统有分布式数据库、分布式缓存、分布式服务、分布式文件系统等等,但它们的一些底层原理,比如网络协议,负载均衡,一致性算法等思路都是一样的。
本章节将抛开语言和框架,回归到计算机技术的本质,谈谈其中原理和一些个人的思考。
2.2 核心模块
第二章节将以大型网站的主要模块为切入点,比如分布式缓存,分布式服务等模块。前一章的各种原理将在本章悉数登场。
当然我们也会深入其原理,比如分布式缓存的缓存策略。也会有构建在它们之上的,更具体的应用,比如基于分布式缓存的分布式session,分布式计数器。
在分布式服务这一节,我们会谈到完成一次RPC调用的基本原理,也会谈到作为一个高可用的生产级服务化框架如何完成服务的监控,治理等功能,时间来的及的话,我还考虑按这个思路造一个RPC框架的轮子。
2.3 系统设计
在模块之上就是一个完整的系统设计了,这一章节目前还没想到太多内容。
主要还是个人经验不足,特别是没有非常系统的软件架构方面的经验,驾驭系统架构这样大主题是比较困难的。
目前还是准备了一节:高并发系统的设计与思考。
会从前端,到中间服务,再到底层数据库谈谈如何设计一个应对高并发的系统,典型的场景就是秒杀了。
3.排期及其它
这么大一个项目,自然的设置个Deadline了。
本书截稿时间定为2018年6月15日。
那一天正好是我工作满三年的日子,完成本书,也就达到我个人想象中一个三年工作经验的Web开发者在纯技术方面该拥有的知识水平。
以本书暂定的10~15篇文章,8个月时间来算,每两周完成一篇。
抛开工作日,再加上写通用力方面的文章,能分配到每篇的时间应该每个周末一天,两周16个小时左右。
内容不会严格按照大纲从前往后来,内容随时迭代。
能看到这里的一定是真爱了,可以关注我的博客,公众号或朋友圈,未来恳请各位技术大咖帮忙斧正。
作者:初开
原文链接:https://wchukai.com/article/technical-principles-of-large-websites-preface
本文由MetaCLBlog于2017-11-06 09:00:00自动同步至cnblogs
本文基于 知识共享-署名-非商业性使用-禁止演绎 4.0 国际许可协议发布,转载必须保留署名及链接。