33 Star 143 Fork 68

keets2012 / microservice-integration

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Build Status codebeat badge

整合项目

整合的项目包括网关、auth权限服务和backend服务。提供了一套微服务架构下,网关服务路由、鉴权和授权认证的项目案例。整个项目的架构图如下:

ms

欲了解更多,见博客《微服务架构中整合网关、权限服务

你的star是对我最好的鼓励^_^

change logs

2019.2.22

服务发布1.0.0.RELEASE版本,当前版本升级Spring Cloud的版本到Greenwich.RELEASE。本次功能优化如下:

  • 增加网关异常处理
  • 增加网关函数式降级接口
  • Hystrix降级头部信息获取

2018.9.25

consul的版本为1.0以下的版本 下载链接

增加了Spring Cloud Gateway作为网关实现的模块,详见:微服务网关Zuul迁移到Spring Cloud Gateway

新增功能:

  • 全局断路器
  • 限流过滤器
  • ...

项目使用方法

如果你的GitHub网络有问题,请移步码云:https://gitee.com/keets/microservice-integration

涉及到的组件与服务

微服务架构基于Spring Cloud,用到了部分Spring Cloud提供的组件。

  • consul 服务发现组件,所有的服务注册到该组件,类似zk
  • feign 声明式的http调用组件,Spring Cloud通过该组件实现服务之间的通信
  • 存储主要是mysql和redis,auth的初始化sql脚本已经提供
  • auth-server:端口9091 安全权限服务
  • gateway:端口10101 网关,提供路由转发等
  • backend-server:端口9092 实例的后端服务,提供接口级别的权限校验

端点测试

  1. 安装一下,mvn clean install -DskipTests,包括三个模块。
  2. 登录端点

head form

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MTMwOTEzMzEsIlgtQU9ITy1Vc2VySWQiOiJjNjIxY2ZlMy02ZjUzLTQ1ZDYtODRiYi0wNzEyMTE5NDZiMjQiLCJ1c2VyX25hbWUiOiJrZWV0cyIsImp0aSI6ImEwODZmMWIyLWEzOTQtNDUwZS1iMDVlLTEzNmE0ZjdlOTEyZiIsImNsaWVudF9pZCI6ImZyb250ZW5kIiwic2NvcGUiOlsiYWxsIl19.MQP8l_RhmZ-rpxAg8Cguq6X6IA1PaKtrwlxZoMjMTLQ",
    "token_type": "bearer",
    "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJrZWV0cyIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiJhMDg2ZjFiMi1hMzk0LTQ1MGUtYjA1ZS0xMzZhNGY3ZTkxMmYiLCJleHAiOjE1MTU2NDAxMzEsIlgtQU9ITy1Vc2VySWQiOiJjNjIxY2ZlMy02ZjUzLTQ1ZDYtODRiYi0wNzEyMTE5NDZiMjQiLCJqdGkiOiJlZTNhOThlOS0zOThhLTQwYTctOGI0YS1jYzRlOGY4ZmVmNDkiLCJjbGllbnRfaWQiOiJmcm9udGVuZCJ9.k2lVqFfJ0xNkly_10O1u3QQGTHMGp0kxVAEDMjdUgbo",
    "expires_in": 43199,
    "scope": "all",
    "X-AOHO-UserId": "c621cfe3-6f53-45d6-84bb-071211946b24",
    "jti": "a086f1b2-a394-450e-b05e-136a4f7e912f",
    "X-AOHO-ClientId": "frontend"
}

3.刷新端点 refresh

返回结果与上面登录类似。

4.登出端点

out

5.backend后端接口 test

上述请求到达backend被拒绝,因为auth服务使用的userId是随机生成,如果你要真是使用,请修改那部分user服务的实现。

写在最后

项目整合如果遇到问题,可以加入 qq 群(649932629)交流。

ps: qq 交流群已设置付费,可以过滤很多广告,营造高质量的技术交流群。

推荐阅读

  1. 微服务网关netflix-zuul
  2. 认证鉴权与API权限控制在微服务架构中的设计与实现(一)
  3. 认证鉴权与API权限控制在微服务架构中的设计与实现(二)
  4. 认证鉴权与API权限控制在微服务架构中的设计与实现(三)
  5. 认证鉴权与API权限控制在微服务架构中的设计与实现(四)
  6. 微服务架构中整合网关、权限服务

订阅最新文章,欢迎关注我的公众号

微信公众号

MIT License Copyright (c) 2018 aoho Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

microservice-integration with auth, gateway and backend. 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/keets/microservice-integration.git
git@gitee.com:keets/microservice-integration.git
keets
microservice-integration
microservice-integration
master

搜索帮助