阿里P8谈:这可能是最详细Spring Cloud 完整的微服务架构实战

本文全面探讨Spring Cloud微服务架构,包括技术栈、应用架构和实战细节。涉及Spring Boot、Eureka、Hystrix、Zuul等组件,详细阐述了微服务的启动、监控和组件配置。此外,还介绍了Docker环境下快速启动项目的方法。
摘要由CSDN通过智能技术生成

前言

本文介绍了技术栈,应用架构,体系架构,应用组件,怎么启动项目,以及相关的项目预览,介绍较为详细,详情请看下文。文章有点长,请耐心看完,文中还会展现笔者精心整理的微服务实战文档。

一、技术栈

  • Spring boot - 微服务的入门级微框架,用来简化 Spring 应用的初始搭建以及开发过程。

  • Eureka - 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。

  • Spring Cloud Config - 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion。

  • Hystrix - 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

  • Zuul - Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

  • Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。

  • Spring Cloud Sleuth - 日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为 SpringCloud 应用实现了一种分布式追踪解决方案。

  • Ribbon - 提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

  • Turbine - Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。

  • Spring Cloud Stream - Spring 数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息。

  • Feign - Feign 是一种声明式、模板化的 HTTP 客户端。

  • Spring Cloud OAuth2 - 基于 Spring Security 和 OAuth2 的安全工具包,为你的应用程序添加安全控制。

二、应用架构

该项目包含 8 个服务

  • registry - 服务注册与发现

  • config - 外部配置

  • monitor - 监控

  • zipkin - 分布式跟踪

  • gateway - 代理所有微服务的接口网关

  • auth-service - OAuth2 认证服务

  • svca-service - 业务服务A

  • svcb-service - 业务服务B

1. 体系架构

 

2. 应用组件

 

启动项目

使用 Docker 快速启动

  1. 配置 Docker 环境

  2. mvn clean package 打包项目及 Docker 镜像

  3. 在项目根目录下执行 docker-compose up -d 启动所有项目

本地手动启动

  1. 配置 rabbitmq

  2. 修改 hosts 将主机名指向到本地,127.0.0.1 registry config monitor rabbitmq auth-service,或者修改各服务配置文件中的相应主机名为本地 ip

  3. 启动 registry、config、monitor、zipkin

  4. 启动 gateway、auth-service、svca-service、svcb-service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值