时下微服务架构很流行,我所在的部门与2015年开始尝试微服务架构,先后做成微服务部署,框架总线,监控,调用链,日志,公共安全,IAM等公、私有云基础能力,后在公司内做成标杆被公司整合到PAAS。 2015年10月招聘结束后我被安排到去做监控,之前维护经验及技术基础需转换意识和思维,李爱华推荐《微服务架构与实践》书,买了一读。 书作者是思特沃克王磊,通俗易懂讲解了 微服务架构是什么? 有什么好处? 微服务架构如何实践?微服务架构理念及测试? 章节安排简洁,行文通俗易懂,图文并茂,理念鲜明,属于微服务架构扫盲书籍,值得一读。
以下几点收获和感受:
1、多思考,多总结,知识需要系统化。
》》 作者在思特沃克时,就在筹划出书,借着云计算等流行,微服务架构风气,作者属于第一批国内最早倡导和实践微服务架构的先行者。在做咨询服务同时,系统化总结梳理并出书,“打造个人品牌”意识很强,目前已入职华为2012实验室,且在原公司有比较强的技术影响力和号召力,直接可带着一个团队离开公司,很强。
2、微服务架构属于一种理念,软件发展到一定阶段的必然产物,本质上是分布式计算。 技术架构本质上是为业务服务的,业务及领域内问题是核心驱动因素。
》》单体架构靠的集中式管控计算,IT及云计算业务场景下,多客户,高并发等单体架构横,纵向扩展无法满足要求,需要新的架构来解决~ 微服务技术创新创建,应运而生。
3、软件架构要求组织架构对应,微服务要求全栈工程师,微服务自制要求全栈工程师自制,传统软件工程师转型会有阵痛期。
》》入公司后搞1.5年开发,后搞维护3年,又招聘1年,一下子转型到全栈工程师,思维及技术栈都要改变,会有阵痛。
4、软件改变世界,谁拥有数据将会主宰生态,打造生态系统除了要有比较强的软件技术及工程能力,还要有大数据储备,软件作为未来社会“”大脑“”将会驱动整个社会越来越智能
》》软件的本质是数学,核心是算法和架构。随着云计算,大数据深入发展,软件将愈来愈加智慧,背后是软件的算法和架构,社会必将更加智能。 硬件是躯体,将会驱于通用化,软件是灵魂,将会驱于智慧化,软件会变得越来越厚,要多学习软件技术和思维。
5、微服务要求全栈工程师,开发和测试的鸿沟要首先打破,开发和运维的鸿沟接着再打破。开发要懂测试,测试要懂开发,开发测试融为一体。 测试很重要,测试金字塔的低端 单元测试、接口(契约)测试需引起足够重视。 组件测试,集成测试,端到端测试思维和能力要逐步具备。
》》之前一直有一个认识,单元测试不重要,无价值,这个认识是错位的。 单元测试,接口(契约)测试能力首先需具备和落实; 测试金字塔的各种测试投入占比及策略制定能力需第二位具备和落实。