简介
微服务的架构出现已经很久很久了,微服务架构就是一种将单个应用程序转换为一组小服务的方法,每个小服务都在自己的进程中运行,并使用轻量级的交互方式(如HTTP)进行通信。
服务的划分是根据具体的业务来的,并且可以通过完全自动化的部署机制独立部署。
微服务是近些年来软件架构中的热名词,也是一个很大的概念,不同人对它的理解都各不相同,甚至在早期微服务架构中出现了一批四不像的微服务架构产品,有人把单纯引入 Spring Boot、Spring Cloud 等框架的应用服务也称之为微服务架构,但这却只是将它作为服务的 Web 容器而已。
随着微服务的火热,越来越多的团队开始实践,将微服务纷纷落地,并投入生产。但随着微服务规模的不断壮大,每增加一个微服务,就可能会增加一些依赖的基础设施和第三方的配置,比如 Kafka 、Redis 实例等,相应 CI/CD 的配置也会增加或调整。 同时随着微服务数量增多、业务复杂性的提升及需求的多样性等(如,对接第三方异构系统等),服务间通信的错综复杂,一步步地将微服务变得更加臃肿,服务治理也是难上加难,而这些问题在单体架构中是很容易解决的。为此,有人开始怀疑当初微服务化是否是明智之选,甚至考虑回归到传统单体应用。
就目前,网上有提到不少相关技术手段,比如服务拆分、服务链路跟踪、服务治理等等。但要么偏于念,缺少场景支持,要么业务复杂,理解起来晦涩难懂。
为了大家更好理解微服务架构,小编整理了一份可以说是最全面的微服务架构实战文档分享给大家,并将这篇文章分为四部分,分别为概念篇,概念篇,运维篇,及实战篇。
目录大纲
第一部分 概念篇
第1章~第2章
首先我们从概念的角度出发,让大家对微服务的发展有一个感观的了解,然后从设计理念上给
出一些建议。
- 微服务的起源和现实业务
- 微服务的设计理念
第二部分 开发篇
第3章~第6章
这部分以Java中常用的微服务框架Spring Boot为基础,介绍Spring Boot的快速开发,以及Docker技术的基础,并且完成两者的无缝结合。接着对Spring Cloud 的整体架构进行介绍。
- Spring Boot开发及使用时的优缺点
- Docker的基础操作
- Spring Cloud实现微服务的重要框架
- Spring Cloud的非核心框架
第三部分 运维篇
第7章~第10章
在微服务中,涉及的不仅仅是开发,还会涉及很多的点,包括运维、测试、监控和日志管理。
- 微服务的测试和质量管理
- 微服务的最佳实践JHipster
- 自动化部署
- 日志收集和APM监控
第四部分 实战篇
第11章~第12章
- PiggyMetrics
- 微服务构建过程涉及的技术点
没有完美的解决方案,只有最合适的