这是一部以“如何构建一套可靠的分布式大型软件系统”为叙事主线的开源文档,是一幅帮助开发人员整理现代软件架构各条分支中繁多知识点的技能地图。文章《什么是“凤凰架构”》详细阐述了这部文档的主旨、目标与名字的来由,文章《如何开始》简述了文档每章讨论的主要话题与内容详略分布,供阅前参考。
笔者出于以下目的,撰写这部文档:
除文档部分外,笔者同时还建立了若干配套的代码工程,这是针对不同架构、技术方案(如单体架构、微服务、服务网格、无服务架构,等等)的演示程序。它们既是文档中所述知识的实践示例,亦可作为实际项目新创建时的可参考引用的基础代码。
根据“使用”的所指含义的不同,笔者列举以下几种情况:
在线阅读:本文档在线阅读地址为:https://icyfenix.cn。
网站由 GitHub Pages 提供网站存储空间;由 Travis-CI 提供的持续集成服务实时把 Git 仓库的 Markdown 文档编译同步至网站,并推送至 CDN,提供国内的访问加速。
离线阅读:
# 克隆获取源码
$ git clone https://github.com/fenixsoft/awesome-fenix.git && cd awesome-fenix
# 安装工程依赖
$ npm install
# 运行网站,地址默认为http://localhost:8080
$ npm run dev
# 编译PDF,结果将输出在网站根目录
$ npm run export
PDF 全文编译时间较长,在笔者机器上约耗时25分钟,在 Travis-CI 上约需要约8分钟,可以从在这里下载更新时由 Travis-CI 自动编译的PDF。PDF 中文字体采用阿里巴巴普惠字体渲染,此字体被允许免费使用与传播。
二次演绎、传播和发行:本文档中所有的内容,如引用其他资料,均在文档中明确列出资料来源,一切权利归属原作者。除此以外的所有内容,包括但不限于文字、图片、表格,等等,均属笔者原创,这些原创内容,笔者声明以知识共享署名 4.0发行,只要遵循许可协议条款中署名、非商业性使用、相同方式共享的条件,你可以在任何地方、以任何形式、向任何人使用、修改、演绎、传播本文档中任何部分的内容。详细可见本文档的“协议”一节。
运行技术演示工程:笔者专门在探索起步中的“技术演示工程”详细介绍了配套工程的使用方法,如果你对构建运行环境也有所疑问,在附录中的“环境依赖”部分也已包括了详细的环境搭建步骤。此外,这些配套工程也均有使用 Travis-CI 提供的持续集成服务,自动输出到 Docker 镜像库,如果你只关心运行效果,或只想了解部分运维方面的知识,可以直接运行 Docker 镜像而无需关心代码部分。你可以通过下面所列的地址,查看到本文档所有工程代码和在线演示的地址:
本作品代码部分采用 Apache 2.0协议进行许可。遵循许可的前提下,你可以自由地对代码进行修改,再发布,可以将代码用作商业用途。但要求你:
本作品文档部分采用知识共享署名 4.0 国际许可协议进行许可。 遵循许可的前提下,你可以自由地共享,包括在任何媒介上以任何形式复制、发行本作品,亦可以自由地演绎、修改、转换或以本作品为基础进行二次创作。但要求你:
网站备案信息:粤ICP备18088957号