微服务架构 - SpringCloud 生态整合(一)

微服务这一概念在 2014 年的 3 月份随着 James Lewis 和 Martin Fowler 在博客中对于微服务这一概念做出了详细的阐述,开始走进开发者的视野。在 Spring 官方的加持下,助推微服务架构风格的应用开始火边整个后端领域。在早起微服务化的演进中 Netflix 的一些列开源的组件,迅速占领微服务生态中的 C 位,提供了网关路由,负载均衡,服务注册发现,服务通信,服务熔断限流等核心组件

本系列文章是基于 Spring 官方提供的组件,完成相关功能组件的整合,以满足企业需求为目的的学习总结。本篇文章先从 Spring 官网经典的微服务架构图开始

注意这里主要以 Spring 系官方相关的开源组件为基础构建,并非是 Spring Cloud 项目的照搬,而是基于企业实际业务需求的抽象整合,只为提高效率、总结编程套路以及提升编程思想

当然这只是我在实际生产实践中的总结,并不一定适合你的业务场景,你也可以参考我的另一个系列 Alibaba 生态整合,希望能对你有所帮助

选型

  • 编程语言:Oracle JDK 8
  • 构建工具:Gradle
  • 网关路由:Spring Cloud Gateway
  • 服务通信:OpenFeign
  • 注册中心:Eureka
  • 配置中心:Spring Cloud Config
  • 限流,熔断,降级:Hystrix
  • 文档管理:SpringFox + Knife4j
  • 部署发布:Docker + Nexus Repository OSS
  • 链路追踪:Spring Cloud Sleuth + Zipkin