内容简介:什么是微服务架构以及它提供的优势/劣势?可以轻松制定一系列好处,例如:所有这些喧嚣的背后,所有美丽的单词都能让时尚成为现实吗?最重要的是,如果我们想要整合身份登录验证的提供者 Identity Provider ,那么什么是解决方案呢?
什么是微服务架构以及它提供的优势/劣势?
可以轻松制定一系列好处,例如:
- 安全;
- 可扩展性;
- 自我一致,彼此独立;
- 珍贵美丽的X²和......
所有这些喧嚣的背后,所有美丽的单词都能让时尚成为现实吗?最重要的是,如果我们想要整合身份登录验证的提供者 Identity Provider ,那么什么是解决方案呢?
为了详细解释,我决定构建一个非常简单的项目,演示Spring Cloud的强大功能和身份验证和授权提供程序的美,所有微服务包含在一个专用的 Docker 容器中,它们可以相互通信并通过docker启动-容易构成。
首先,可以在这里找到这个项目的代码(首先阅读自述文件!): https://github.com/hyseneim/cloud-application-starter
SpringCloud的架构图:
源码说明:
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)来检索用户和角色。
此体系结构可以是您的个人或业务项目的具体基础。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 『互联网架构』软件架构-netty线程模型源码(55)
- JStorm 源码解析:整体架构
- 源码编译LNMP平台架构
- thrift源码分析-架构设计
- jQuery源码分析系列 : 整体架构
- 5分钟通读vue源码架构
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解Java多线程设计模式
[日] 结城浩 / 侯振龙、杨文轩 / 人民邮电出版社 / 2017-8 / 89.00元
本书通过具体的Java 程序,以浅显易懂的语言逐一说明了多线程和并发处理中常用的12 种设计模式。内容涉及线程的基础知识、线程的启动与终止、线程间的互斥处理与协作、线程的有效应用、线程的数量管理以及性能优化的注意事项等。此外,还介绍了一些多线程编程时容易出现的失误,以及多线程程序的阅读技巧等。在讲解过程中,不仅以图配文,理论结合实例,而且提供了运用模式解决具体问题的练习题和答案,帮助读者加深对多线......一起来看看 《图解Java多线程设计模式》 这本书的介绍吧!