SpringCloud+Boot+Oauth2微服务项目

  本项目是一个基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目。

  技术栈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 - 业务服务Asvcb-service - 业务服务B体系架构

香!SpringCloud+Boot+Oauth2微服务项目

  应用组件

香!SpringCloud+Boot+Oauth2微服务项目

  启动项目使用 Docker 快速启动配置 Docker 环境mvn clean package 打包手游转让平台项目及 Docker 镜像在项目根目录下执行 docker-compose up -d 启动所有项目本地手动启动配置 rabbitmq修改 hosts 将主机名指向到本地

  127.0.0.1 registry config monitor rabbitmq auth-service

  或者修改各服务配置文件中的相应主机名为本地 ip启动 registry、config、monitor、zipkin启动 gateway、auth-service、svca-service、svcb-service项目预览注册中心

  访问 localhost:8761/ 默认账号 user,密码 password

  

香!SpringCloud+Boot+Oauth2微服务项目

  监控

  访问 localhost:8040/ 默认账号 admin,密码 admin

  控制面板

香!SpringCloud+Boot+Oauth2微服务项目

  应用注册历史

香!SpringCloud+Boot+Oauth2微服务项目

  Turbine Hystrix面板

香!SpringCloud+Boot+Oauth2微服务项目

  应用信息、健康状况、垃圾回收等详情

香!SpringCloud+Boot+Oauth2微服务项目

  计数器

香!SpringCloud+Boot+Oauth2微服务项目

  查看和修改环境变量

香!SpringCloud+Boot+Oauth2微服务项目

  管理 Logback 日志级别

香!SpringCloud+Boot+Oauth2微服务项目

  查看并使用 JMX

香!SpringCloud+Boot+Oauth2微服务项目

  查看线程

香!SpringCloud+Boot+Oauth2微服务项目

  认证历史

香!SpringCloud+Boot+Oauth2微服务项目

  查看 Http 请求轨迹

香!SpringCloud+Boot+Oauth2微服务项目

  Hystrix 面板

香!SpringCloud+Boot+Oauth2微服务项目

  链路跟踪

  访问 localhost:9411/ 默认账号 admin,密码 admin

  控制面板

香!SpringCloud+Boot+Oauth2微服务项目

  链路跟踪明细

香!SpringCloud+Boot+Oauth2微服务项目

  服务依赖关系

香!SpringCloud+Boot+Oauth2微服务项目

  RabbitMQ 监控

  Docker 启动访问 localhost:15673/ 默认账号 guest,密码 guest(本地 rabbit 管理系统默认端口15672)

  

香!SpringCloud+Boot+Oauth2微服务项目

  接口测试获取 Token

  curl -X POST -vu client:secret localhost:8060/uaa/oauth/token -H "Accept: application/json" -d "password=password&username=anil&grant_type=password&scope=read%20write"

  返回如下格式数据:

  {

  "access_token": "eac56504-c4f0-4706-b72e-3dc3acdf45e9",

  "token_type": "bearer",

  "refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb",

  "expires_in": 3599,

  "scope": "read write"

  }使用 access token 访问 service a 接口

  curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" localhost:8060/svca

  返回如下数据:

  svca-service (172.18.0.8:8080)===>name:zhangxd

  svcb-service (172.18.0.2:8070)===>Say Hello使用 access token 访问 service b 接口

  curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" localhost:8060/svcb

  返回如下数据:

  svcb-service (172.18.0.2:8070)===>Say Hello使用 refresh token 刷新 token

  curl -X POST -vu client:secret localhost:8060/uaa/oauth/token -H "Accept: application/json" -d "grant_type=refresh_token&refresh_token=da1007dc-683c-4309-965d-370b15aa4aeb"

  返回更新后的 Token:

  {

  "access_token": "63ff57ce-f140-482e-ba7e-b6f29df35c88",

  "token_type": "bearer",

  "refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb",

  "expires_in": 3599,

  "scope": "read write"

  }刷新配置

  curl -X POST -vu user:password localhost:8888/bus/refresh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值