Giter Site home page Giter Site logo

microservices-architecture's Introduction

description
工作忙加平时懒,拖了出版社一年有余仍未完工,遂放弃出版,转开源电子书,有空时心情好时可以自由地补充完善。

微服务架构设计

成书原因

架构的重要性已不言而喻,但凡一个软件项目必定会涉及服务的架构,因此市面上介绍此类知识的书籍可谓汗牛充栋。机缘巧合下笔者结识一出版社朋友并希望我写一本微服务相关的书籍,笔者虽在此方面小有经验,但颇为担心落得个拾人牙慧的骂名。 在几经调研后,笔者发现微服务架构的话题很大,可切入的方式很多,结合自身经验还是有一些差异化的内容可写,遂开始尝试性的撰写此书。一般人偏理解性文章的平均阅读速度是200-250字/分钟,本书撰写之初就定下15万字的上限,即希望大部分符合要求的读者(见本书受众)都可以在1天内(12小时左右)看完,能够理解本书所写的内容进而了解到微服务架构的全貌、关键点并有助于工作提升,在未来的一段时间内如有余力可继续完成本书的扩展阅读以进一步加深理解。 由于工作强度、书籍质量及个人能力等原因此书的完成前后经历了近一年时间,在此特别感谢家人的理解及同事的帮助及指点。

本书特点

本书不会重复造轮子,写出差异化,以实用性为初心,实例化引导为手段,避免阳春白雪式的理论宣导,或是皮相之谈的代码解读。总结而言本书的特点如下:

实例导向,理论为辅:笔者多年服务于互联网金融公司,本书以信贷系统这一真实项目为线索,循序渐进地介绍服务架构的来龙去脉,微服务架构的基础性理念介绍是必须的,但不会生搬硬套地解释某些知识点的设计原理,而会更加关注在架构演进过程中为什么要用到这些技术及这些技术的适用场景及局限。

言简意赅,拒绝话痨:对比国内外技术书箱,很大的差异在于国内很多作者喜欢“堆代码”,喜欢“旁征博引”,本书不求“厚”,但求“精”,对于一些显而易见或是网络中已有详尽介绍的知识点本书尽量以扩展阅读的形式呈现给读者,不占用过多篇幅介绍。

内容殷实,力求全面:在保证行文紧凑的同时,本书尽量覆盖服务架构的核心点、项目实例的全流程关键点,并且会引入一些相关的扩展话题以供探讨,IT技术的发展可能是各个行业中最快的,服务架构做为最重要的IT基础性技术之一自然也在快速地进化,所以本书也会用适当的篇幅用实例介绍目前比较业界被看好的Service Mesh及Serverless技术。

扩展丰富,追根溯源:本书以脚注或扩展阅读的形式引用了大量基础或发散性的解释说明做为知识体系的补充,引文力求正本清源,多为论文链接或权威网站(多见于Wikipedia、InfoQ、IBM)的一手资料。

本书受众

生命是以时间为单位的,浪费别人的时间等于谋财害命;浪费自己的时间,等于慢性自杀。

——鲁迅

读者希望能有所收获,笔者希望能得到认可,所以有必要先说明本书的受众群。 本书适合的读者群体是:

有一定编程经验,对服务化架构有些耳闻或实践并希望在这方面能有所提高的程序员/架构师。

如果您:

  • 没有任何编程相关经验 那么建议先打好基础,从语言上入手更为合理
  • 是一名资深应用架构师,对服务化架构非常精通 如有兴趣欢迎带着“批判性”的态度阅读,指正其中的不足
  • 对服务化架构有一定经验但欠缺某一、两点知识 建议浏览下本书的目录,直接Google需要补强的知识点更为高效
  • 想熟练使用诸如Dubbo、Spring Cloud等的服务化框架 市面上有很多介绍这些框架的书籍,本书会花篇幅介绍框架,但术业有专攻,学会用某一框架不是本书主旨

约定

🔆 核心知识点,服务化架构中经常会遇到的问题

📖 扩展阅读,由于篇幅所限,部分知识无法展开,但会给出扩展学习的相关书籍或网址

与知识点无关的重要说明,了解此说明可更好地理解笔者意图

思考点,根据上下文描述抛出问题,引发读者思考

结构说明

本书以实例导向,但如果一开始就介绍项目实例未免过于唐突,所以开篇会宏观地介绍这几十年间服务架构的变迁以让读者对什么是单体、SOA及微服务有一个基本的认知。然后我们简单地介绍实战项目的背景及业务要求为后续章节做好铺垫。

与直接上微服务相比我们有更多的项目都是有“历史”的,所以笔者会从单体架构的实现说起,了解单体架构的优势及不适用的场景进而带出微服务化改造。

针对实战项目的微服务化改造之前会花比较多的篇幅介绍改造的各个关键点,此处说是改造但也同样适用于全新的项目。微服务化的核心分架构设计、开发测试、运维交付等三大环节,本书会重点介绍这几个环节的知识点。这些知识点偏理论,笔者会尽量带入实战项目加以说明。

新老系统过渡的设计也是笔者被咨询比较多的问题,所以本书会花一个章节来说明相关的设计方案及如何落地。

再往后以Spring Cloud为基础介绍实战项目的微服务改造核心步骤,大部分步骤会与上文的知识点呼应,让读者也解理论的落地形式。

Vert.x与Spring Cloud类似,是笔者非常推崇的微服务框架,本书会花些篇幅加以介绍。

Service Mesh是微服务的发展方向,笔者所在的团队也有一定的实践经验,本书会以Istio这一Service Mesh主流框架做一定的实例介绍。

如果说Service Mesh是已经进行中的微服务演进,那么再远一点,Serverless无疑是服务架构又一里程碑式的跃进,目前虽不成熟,但所有的平台架构师都应该保持关注。本文最后会以Apache OpenWhisk为Serverless框架介绍相关的使用。

通过本书,笔者期望带读者了解到服务架构的宏观全景,其中的核心知识点及项目实践与落地,并且可以以比较前瞻性的眼光发现未来、理解未来。

版权协议

知识共享许可协议

本书采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

microservices-architecture's People

Contributors

gudaoxuri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microservices-architecture's Issues

好书 求联系方式

作者可以整个联系方式不呢?我现在做新项目 想让微服务落地 很多服务的划分 看书和google看的我都懵逼了

一本好书

一直断断续续的看作者的书,我以前没有任何系统架构方面的经验,感觉本书写的特别的透彻,让我受益匪浅。非常希望作者继续努力,把本书完成。同时恳请作者加上你的捐赠方式,也方便我们做一些捐赠,以表示我们对你劳动的尊重,谢谢

好多图片加载不出来

单体架构这一章的图片
soa架构演进这一章的前两张图
剩下的没看到 但估计也无法加载

一本好书

搜索服务划分时,读到的,很受用

近一年读过最好的书

读完前两章,几乎每一段都能解开我心里一个疑惑。

为什么有的项目说是既不是单体应用又不是纯粹的微服务?原来是SOA啊。
为什么架构图要成这个样子? 原来是要根据多个维度拆分啊。
解开的疑惑太多了。

如果以后这本书出版了,我斗胆推荐一个副标题:“带你了解微服务中的潜规则”
本人毕业不到一年,这本书解答了我工作以来的大多困惑。

向作者敬礼。
这本书不应该只有100颗stat.
请允许我推荐给我的所有朋友。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.