Spring Cloud微服务架构包含身份验证的源码案例 -Gabriele

栏目: Java · 发布时间: 5年前

内容简介:什么是微服务架构以及它提供的优势/劣势?可以轻松制定一系列好处,例如:所有这些喧嚣的背后,所有美丽的单词都能让时尚成为现实吗?最重要的是,如果我们想要整合身份登录验证的提供者 Identity Provider ,那么什么是解决方案呢?

什么是微服务架构以及它提供的优势/劣势?

可以轻松制定一系列好处,例如:

  • 安全;
  • 可扩展性;
  • 自我一致,彼此独立;
  • 珍贵美丽的X²和......

所有这些喧嚣的背后,所有美丽的单词都能让时尚成为现实吗?最重要的是,如果我们想要整合身份登录验证的提供者 Identity Provider ,那么什么是解决方案呢?

为了详细解释,我决定构建一个非常简单的项目,演示Spring Cloud的强大功能和身份验证和授权提供程序的美,所有微服务包含在一个专用的 Docker 容器中,它们可以相互通信并通过docker启动-容易构成。

首先,可以在这里找到这个项目的代码(首先阅读自述文件!): https://github.com/hyseneim/cloud-application-starter

SpringCloud的架构图:

Spring Cloud微服务架构包含身份验证的源码案例 -Gabriele

源码说明:

Macrocategory 1:

  • 客户:转发请求的主题。它可以是PC,移动设备,智能电视,极限是想象力!

Macrocategory 2:

  • 授权和身份验证提供程序(AAP):它公开请求访问令牌,刷新令牌和撤销令牌,管理各种流(包括“ 密码 ”流,使用其他微服务)所需的端点。他总是与服务发现/注册处联系,通过该服务发现/注册,他记录并发现其他微服务的位置。
  • 数据库(MySQL):这个应用程序的DB选择是无关紧要的(显然,修改Spring连接器)。存储的唯一信息与AAP相关,即:用户表,角色,访问/刷新令牌和客户端详细信息。
  • API网关:通过Zuul实施,它与服务发现/注册表 “ 紧密联系 ”,以获取有关其他微服务的信息,这些微服务将被注册为客户端可用的路由。此外,它充当负载均衡器(通过功能区),以及请求的过滤器和代理(通过Hystrix)。此外,与所有/一些微服务的请求,读取时间或套接字相关的超时可通过方便的Hystrix参数进行配置。
  • 配置服务器:它包含可能来自不同来源的所有微服务的配置。在Docker容器之外,它通常使用文件系统或Git作为事实来源。但是,在容器内部,使用它的JAR 类路径,前瞻性更改其他微服务的引用及其逻辑名称(通过docker-compose.yml指定)。显然,当您拥有配置服务器的“ 集群 ”时,不建议使用后一种方法。PS:在后一种情况下,蓝绿色图案可能会在更换配置时帮助您。
  • 服务发现/注册服务器:上面广泛提到,它允许发现和注册微服务。Feign特别有用,您可以通过该 工具 使用包含所有录音的寄存器来请求其他微服务。
  • 微服务1:示例微服务,仅包含受所有非管理员用户保护的Hello World端点,通过向AAP提交请求(通过Feign)来检索用户和角色。

此体系结构可以是您的个人或业务项目的具体基础。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Flask Web开发:基于Python的Web应用开发实战

Flask Web开发:基于Python的Web应用开发实战

[美] Miguel Grinberg / 安道 / 人民邮电出版社 / 2014-12 / 59.00元

本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。 • 学习Flask应用的基本结构,编写示例应用; • 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持; • 使用包和模块构建可伸缩的大型应用; • 实现用户认证、角色和个人资料; • 在博客网站中重用模板、分页显示列表以及使用富文本; • 使用基于......一起来看看 《Flask Web开发:基于Python的Web应用开发实战》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码