Java互联网科技Java成长之路

基于 Spring Cloud 完整的微服务架构实战

2020-04-09  本文已影响0人  程序员北游

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。

前言

本文介绍了技术栈,应用架构,体系架构,应用组件,怎么启动项目,以及相关的项目预览,介绍较为详细,详情请看下文。

一、技术栈

二、应用架构

该项目包含 8 个服务

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

三、项目预览

1. 注册中心

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

监控

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

2. 控制面板

3. 应用注册历史

4. Turbine Hystrix面板

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

6. 计数器

7. 查看和修改环境变量

8. 管理 Logback 日志级别

9. 查看并使用 JMX

10. 查看线程

11. 认证历史

12. 查看 Http 请求轨迹

13. Hystrix 面板

14. 链路跟踪

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

15. 控制面板

16. 链路跟踪明细

17. 服务依赖关系

18. RabbitMQ 监控

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

19. 接口测试

获取 Token

curl -X POST -vu client:secret http://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" http://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" http://localhost:8060/svcb

返回如下数据:

svcb-service (172.18.0.2:8070)===>Say Hello

使用 refresh token 刷新 token

curl -X POST -vu client:secret http://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 http://localhost:8888/bus/refresh
上一篇 下一篇

猜你喜欢

热点阅读