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

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

内容简介:什么是微服务架构以及它提供的优势/劣势?可以轻松制定一系列好处,例如:所有这些喧嚣的背后,所有美丽的单词都能让时尚成为现实吗?最重要的是,如果我们想要整合身份登录验证的提供者 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)来检索用户和角色。

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


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

查看所有标签

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

人件

人件

Tom DeMarco、Timothy Lister / UML China / 清华大学出版社 / 2003-6 / 35.00元

《人件(第2版)》专门讨论了软件开发和维护的团队管理问题,并向人们的传统认识提出了挑战。作者汤姆·迪马可,蒂姆·李斯特在书中推崇人本管理思想,指出知识型企业的核心是人,而不是技术。《人件(第2版)》于1987年首次出版后,曾在西方引起了轰动,被誉为“对美国软件业影响最大的一本书”。《人件(第2版)》还对大中型组织中的软件开发团队如何运作进行了深入探讨。《人件》已成为软件图书中的经典之作。它和《人月......一起来看看 《人件》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具