微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和Spring Cloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。
微服务主要的优势如下:
1、降低复杂度
将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。每个服务开发者只专注服务本身,通过使用缓存、DAL等各种技术手段来提升系统的性能,而对于消费方来说完全透明。
2、可独立部署
由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需要发布相关服务的迭代即可,降低了测试的工作量同时也降低了服务发布的风险。
3、容错
在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。 通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。
4、扩展
单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。
本文分享用“知识点 实例”形式编写的Spring Cloud 架构绝活,共有“39个基于知识点的实例 1个综合性项目”,深入讲解了Spring Cloud的各类组件、微服务架构的解决方案和开发实践,以及容器、Kubernetes和Jenkins等DevOps(开发运维一体化)相关知识。
本书针对Spring Cloud Greenwich.SR2版本 Spring Boot的2.1.x.RELEASE版本。在编写过程中,不仅考虑到企业任职所需的技能,还考虑到求职面试时可能会遇到的知识点。
第一章 进入微服务世界
第二章 准备开发环境和工具
第三章 实例1:用Spring Cloud 实现一个微服务系统
第四章 认识微服务
第五章 Spring Cloud 基础
第六章 用Consul 实现服务治理
第七章 用Ribbon和Feign 实现客户端负载均衡和服务调用
第八章 用Hystrix实现容错处理
第九章 用Spring Cloud Gateway构建微服务网关
第十章 用Spring Cloud Sleuth 实现微服务链路跟踪
第十一章 用Spring Cloud Config配置微服务
第十二章 用Spring Cloud Alibaba组件实现服务治理和流量控制
第十三章 用Spring Cloud Security实现微服务安全
第十四章 实例40:用Spring Cloud 实现页面日访问量3000万的某平台微服务架构
第十五章 基于Docker、K8s、Jenkins的DevOps 实践
Spring Cloud 是大名鼎鼎的 Spring 家族的产品, 专注于企业级开源框架的研发。 Spring Cloud 自从发展到现在,仍然在不断的高速发展,目前已经更新到Finchley.M2。几乎考虑了服务治理的方方面面,开发起来非常的便利和简单。