转载请标明出处: https://blog.csdn.net/forezp/article/details/79735457 本文出自方志朋的博客
个人博客纯净版:https://www.fangzhipeng.com/life/2018/08/12/yb-zf.html
异步社区:请您向异步社区的读者做一个简单的介绍吧。
各位读者好,我叫方志朋,毕业于武汉理工大学,是《深入理解Spring Cloud与微服务构建》书的作者。目前为CSDN博客专家、Spring Cloud中国社区联合创始人,专注于微服务、大数据等领域,对技术有着狂热的追求,活跃于各大技术社区,包括Spring Cloud中国社区、CSDN、Github、掘金、简书等。在4月8日,我发表的第一篇Spring Cloud文章开始,已经在Spring Cloud社区产生了非常大的影响力。在CSDN开的Spring Cloud 系列个人专栏(http://blog.csdn.net/forezp),到目前为止,获得了280万的阅读量,个人Github(https://github.com/forezp)获得的Star超过了2500个,获得了众多开发者的认可。
异步社区:是什么初衷让您开始创作《深入理解Spring Cloud与微服务构建》?这本书有哪些特色?学习这本书有哪些知识要点不可错过,可以分享一下吗?
我从2017年4月份开始,写了一系列Spring Cloud教程,取名为《史上最简单的Spring Cloud教程》,我的写作初衷就是化繁为简、化整为零,让读者轻松愉快的上手Spring Cloud这一套微服务框架。我完全从一个新手的角度,或者说是一个新手的心理去写这样一系列的文章,尽量写的简单明了,让读者快速上手,让学习技术不再是一件痛苦的事。这一系列文章发表完之后,阅读量呈指数增长,超出了我的想象,获得大量的读者的认可。在之后异步社区的张爽编辑联系我,问我是否愿意写一本关于Spring Cloud 这样一本书,我就想博客终究是博客,或多或少有一些缺陷,书籍由出版社严格把控,更能写出一些干货,让读者有更多的选择,这样更能推进Spring Cloud技术的发展。
这本书最大的特色就是沿袭了我博客的写作风格,力求做到简单,让读者轻松愉快的学习,另外本书中对Spring Cloud核心组件进行了一个源码的跟踪,让读者能够深入的理解Spring Cloud这一体系,或者说微服务这一体系的实现的原理,然后,我花费了大量时间研究了Spring Cloud OAuth2这一组件,这是一个安全组件,有着举足轻重的作用,最后,在本书的最后一章有一个综合案例,是我在工作和学习中对Spring Cloud的一个提炼,有着非常大的参考价值。
对于新手来说,这本书干活满满,所有的内容都不能错过;对高手而言,Spring Cloud核心组件源码不容错过,Spring Cloud OAuth2组件的目前的资料较少,所以也不容错过,而本书最后的综合案例更是我本人实战一年工作的提炼,有着非常大的参考价值。
异步社区:微服务,是著名的OO专家Martin Fowler提出来的,在最近两年各种演讲、文章、书籍上出现的频率之高,让人们逐渐意识到它对于软件领域所带来的影响,Spring Cloud 作为微服务的践行者,您认为有哪些优势?
这要软件架构的演进来讲起。单体架构,可能最为大家所熟悉,在软件的初始阶段最适合使用这一架构,这一架构在软件的初始阶段有着非常大的优势,有这开发速度快、成本低的优点,这一架构只适合业务较简单、并发量较小的应用。随着业务越来越复杂,这一架构会带来代码的可读性越来越差,可持续交付能力差。
应用服务器集群的架构,随着业务的发展,大多数公司会将单体应用进行集群部署,并增加负载均衡服务器(例如Nginx等)。另外,还需要增加集群部署的缓存服务器和文件服务器,并将数据库读写分离,以应对用户量的增加而带来的高并发访问量。用负载均衡服务器分发高并发的网络请求,用户的访问被分派到不同的应用服务器,应用服务器的负载不再成为瓶颈,用户量增加时,添加应用服务器即可,这时虽然有一定的并发能力,但应用仍为单体架构,代码的可读性、持续的交付能力仍旧很差。
面向服务的架构即SOA,应用服务器集群架构能够有一定的并发能力,但是如果业务持续发展,垂直子系统越来越多,系统与系统之间的调用也非常频繁,这时最好的做法是将系统服务治理化。服务化架构,最常见的就是面向服务SOA架构,这种架构是根据不同的职责,划分不同的模块,不同的模块采用某种通讯协议相互调用。目前最常见的SOA架构为阿里的Dubbo架构,这种架构通过添加应用服务器、熔断、负载均衡,具有很强的横向扩展能力和弹性伸缩能力。
微服务架构是对SOA架构的一个扩展,显得更加轻便,不依赖于任何的平台。业务足够复杂,垂直的业务子系统越来越多,这时可以考虑使用微服务架构。当前,互联网技术飞速发展,随着互联网技术渗透到各行各业,越来越多的用户参与到互联网,应用场景也越来越复杂。云计算、大数据、人工智能、区块链、物联网等技术大行其道,对系统的架构提出了越来越高的要求。微服务架构不仅能够满足越来越复杂的业务,也能支撑越来越高的并发量,所以微服务架构是互联网技术推进发展的产物,当一个公司的业务足够复杂,参与的用户(手机端、浏览器端、物联网设备)足够多时,可以用微服务架构。
所以,微服务架构是系统架构演进的一个产物,是在其他架构的不断演进,不断改善的产物,它能够解决高并发问题,系统解耦问题,持续交付的问题,敏捷开发等诸多问题。
异步社区:作为Spring Cloud中国社区核心负责人,每天面对最棘手的问题是什么?可以跟我们说说吗?
Spring Cloud技术发展至今,国内关注的人越来越多,社区成立之前,相应学习交流的平台和材料比较分散,不利于学习交流,Spring Cloud中国社区应运而生。Spring Cloud社区(http://springcloud.cn)是国内首个Spring Cloud构建微服务架构的交流社区。社区致力于为Spring Boot或Spring Cloud技术人员提供分享和交流的平台,推动Spring Cloud在中国的普及和应用。社区创始人许进,更是为社区作出非常多的努力,他是国内Spring Cloud技术的布道者和推进者。社区通过开展线上交流和线下活动相结合,通过创建社区微信群,将大家聚在一起,相互交流和学习,目前所有微信群的人数高达八千人,欢迎大家访问社区网站。社区发布了多个Spring Cloud的开源项目,为Spring Cloud 在国内的发展作出了突出的贡献。目前来说,最为棘手的问题,在于社区博客缺少高质量文章的投稿,希望有志于开源的小伙伴一起来加入我们,将社区打造得更好。
异步社区:职场小白想进入这个领域,您认为必备的职业素养是什么?入门有哪些工具推荐?
职场小白想进入这个行业,最基本的职业素养是持续的学习能力和对技术的敬畏之心。学习能力是基本要求,因为在IT这个领域是一个日新月异的领域,发展速度非常的快。所以必须必须要持续学习的能力,才能不不落后。另外,就是要有一个对技术的敬畏之心,程序员使用搜索引擎的技艺特别的高超,复制粘贴的技术无人能比,所以程序员一旦上路之后,就容易觉得技术就那么回事,就是不断的使用别人的创建好的轮子。所以,程序员必须都技术有敬畏之心,不断的探索技术的深度,才能够使自己不断的进步,不断的提升。我还有一个建议不知道对不对,就是建议刚毕业的童鞋去北上广深杭等城市,去最发达城市,最发达的区域,做最前沿的事情,做时代的弄潮儿。
推荐一款叫MacDown工具吧,它是写博客和文章的神器。之所以推荐这个工具,一是它特别的好用,界面友好,使用起来舒服,二是,推荐它是因为希望读者有写博客和文章的习惯,持续的写,它真的有可能改变一个人很多。另外推荐,网易云笔记,作为文章、博客的备份。注意,这不是打广告哦!
异步社区:当大家使用一个新技术的时候,应该首先问的一个问题就是why?您作为先驱,当时是如何想的,可以说说吗?
当使用一件新技术的时候,一定是要问的问题就是为什么要使用这项技术,这项技术解决了什么问题,这项技术有什么优点,有什么难点,成本有多高?那我所在的公司的业务的主系统采用Dubbo框架,开发人员众多、开发时间也足够长,带来的最直接的问题,就是代码的可读性非常差,大多数代码是很难看的懂的,另外方面就是工程过于庞大,持续交付能力差。那我使用微服务这一新技术,就是为了解决这样的问题。微服务的优点无需多描述,它的难点有三个,一是分布式事务,二是服务的划分,三是服务的自动化部署。采用Spring Cloud这一框架构建微服务系统的成本是比较低的,因为大多数Java程序员都会使用Spring,所以成本是可以接受的。
异步社区:我们该如何使用Spring Cloud来更好地服务于我们的客户群体呢?
这个问题看起来很复杂,其实很简单。万变不离其宗,只需要弄懂Spring Cloud各大组件,深入理解Spring Cloud组件的原理,深入理解Spring Cloud这一套组件所构建系统的原理,就可以了。而《深入理解Spring Cloud与微服务构建》这本书正好讲解了这些内容,所以这本书值得你拥有。
异步社区:写博客和写书最大的不同是什么?
首先我来说一下写博客和写书最大相同点,相同点就是尽量让所写内容简单,写出的东西是对读者负责,人非圣贤,错误在所难免,所以还请各位读者海涵。写博客和写书最大不同在于,写博客可以自由发挥,不在乎一些表述上的细节,可以很轻松的写出一系列的文章;而写书在于需要承受一些压力,尽可能的做到精益求精,尽可能的把事情做的完美。当然,写书的过程中,出版社是可以给予非常多的帮助和建议的,在这里感谢异步社区的童鞋们。
异步社区:2018年微服务领域将有哪些大的发展和挑战,可以预测一下吗?
2017年,微服务是飞速发展的一年,从我的博客的访问量从2017年的四月的几千到至今的460万,足见Spring Cloud技术的火爆程度。目前,国内很多中大型互联网公司都在使用Spring Cloud技术。 评估一家企业是否需要上微服务,主要考察这五大关键要素:数据量和业务复杂度,团队规模,应对业务流量变化,是否需要足够的容错容灾,以及功能重复度和差错成本。
所以,2018年仍是微服务飞速发展的一年,目前它仍处于发展期。复杂的业务场景、高并发的业务场景,云技术、大数据等仍是微服务大行其道的几个关键领域,它面临的挑战在于各行各业具体怎么去合理的使用微服务,这需要具体行业的开发人员对业务有足够深的认识和理解。
异步社区:您理想中的生活是什么样子的?
可以说“钱多活少离家近,老婆孩子热炕头吗?”[捂脸]。
对于我个人言,我需要保证自己能够持续不断的学习,做一个终身学习者、终身学习受益者。同时对这个世界充满敬畏之心、好奇之心、善良之心,成为能够让世界变美好的一份子。我的理想生活的样子是一个普通人生活的样子,有一份体面的工作,有一个不错的收入,维持自己的一些爱好,与相爱的人悠悠信步,与父母相互理解、保护,与志同道合的朋友共事,与有趣之人共话语,过的是丰富且有质感的生命体验。