• 问题
  • 解决问题
    • 鉴权
    • 注册
    • 管理
  • 总结

聊一聊最近了解的公司服务治理平台,主要是思想,理念,而不是一种技术或框架。整个平台设计,融入了OAUTH2认证,融入了微服务思想,帮助公司各系统在复杂的IT架构下,实现一种便捷统一的调用方案,同时完成调用的管理(监控、注册、鉴权等)。

问题

一种思想或理念的出现,是否有价值,我认为主要在于它实际解决了哪些问题。基于这个价值观,我们先看看,当一个公司有成百上千个系统时,会有哪些问题?
pi如:

  1. 接口访问有没有鉴权?如何鉴权?这个话题很大,归根揭底就是,要让提供方知道调用方是谁(身份),并且同意调用(授权)。
  2. 想看看系统间调用关系,得查代码或文档
  3. 某个系统异常,怎么评估影响范围?谁调了它,它调了谁?
  4. 某系统调用量如何?负载均衡之前需不需要流量控制?

解决问题

服务治理平台,目标就是把所有系统的所有接口,管理起来,对调用方进行鉴权,对提供方开放接口注册,运营来统一管理授权。最终,解决权限问题,监控系统间调用关系,实现公司级的服务治理。

鉴权

开放平台,很重要的一个点,就是对访问进行权限控制。比较老的Basic Auth认证方式,在请求中加入用户名和密码,由服务端来进行鉴权。目前较通用的OAuth认证,通过Access Token完成授权与认证,具体不在详述,目前我们使用OAUTH2。
其实,抽象来看,鉴权主要围绕两个问题,1,你是谁,2,同意不同意你调。
围绕这两个问题,我们来捋一捋怎么设计,来完成这两个事:

  1. 首先,得有个系统,让调用方注册用户,申请访问接口等,暂且命名为portal
  2. 其次,提供方可以在平台注册自己的接口
  3. 平台管理人员,一般是运营同事,得有个系统可以查看注册接口、访问申请、注册用户、发布到公共平台等等,并完成对各种访问的授权,暂且命名为admin
  4. 另,既然使用了oauth2,就得有个取token的系统,暂且命名为oauth
  5. 最后,得有个对外的统一入口吧(即公共平台),暂且名为open

整个调用鉴权流程,如下:


1. 调用方注册用户
2. protal返回用户id和secret
3. 管理员,审核用户(你是谁?)
4. 用户id通过审核
5. 通过审核的用户id申请相关访问资源
6. 管理员,授权资源访问(同不同意你调?)
7. 资源申请通过
8. 根据用户id和secret到oauth取token
9. 到公共平台(open)访问你申请的资源,需要带上token
10. open对token进行鉴权

注册

提供方系统注册接口到公共平台,有很多种方式,目前,我们主要使用两种方式:

  1. 系统内置平台注册SDK,在代码中实现接口注册
  2. 系统调用平台开放注册接口,通过HTTP请求完成注册。这种方式,提供方本身又成了公共平台的调用方,需要走一遍上面的鉴权过程=。=

整个注册流程比较简单,如下:

管理

基于以上分析,有个提供方并在平台注册了接口,有了调用方并在平台获得了授权,那么整个管理平台的基本职能就可以推断出来:

  1. 服务注册、维护
  2. 消费维护、授权
  3. 应用申请授权、接口发布
  4. 系统运行态数据监控

总结

以上,仅仅是一个梗概,认识一个东西,我喜欢先看轮廓,在扣细节。
扣个细节,比如,授权单位如果是个接口的话,我们公司将近2w个openAPI接口,授权起来比较琐碎,此时可以用分组来进行管理。如某个小系统的所有接口放到一个组里面,调用方通过申请组资源的访问,来完成对组内接口的访问。
在比如,授权时可以设置用户token的时效,过期token失效,需要重新取token。时效设置多久合适,大家可以另行分析。我们系统是金融领域=。=

以上,感谢观看,点个赞,我觉得不过分。

转载于:https://www.cnblogs.com/lknny/p/8831667.html

公共平台服务治理与鉴权相关推荐

  1. 微服务架构下的服务调用与鉴权——某保险公司微服务平台实施案例分享

    2019独角兽企业重金招聘Python工程师标准>>> 转载本文需注明出处:EAWorld,违者必究. 引言: 根据保险行业发展趋势,目前保险交易已经呈现高频化.碎片化.场景化等特点 ...

  2. Kong社区版集成Keycloak实现微服务认证与鉴权

    文章目录 Kong社区版集成Keycloak实现微服务认证与鉴权 前言 认证和鉴权流程 在Keycloak上配置 创建Realm 创建Client 创建Role 创建User 服务 环境准备 受保护的 ...

  3. 如何构建一个有效的服务治理平台

    本文我们重点讨论如何构建一个有效的服务治理平台,话不多说,直接切入整体.构建服务治理平台基于"管理","度量","管控"三个层面统筹考虑安排 ...

  4. 【Spring Cloud Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权

    一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间这里只贴出关键部分代码的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证 ...

  5. 微服务接入oauth2_微服务权限终极解决方案,Spring Cloud Gateway+Oauth2实现统一认证和鉴权!...

    最近发现了一个很好的微服务权限解决方案,可以通过认证服务进行统一认证,然后通过网关来统一校验认证和鉴权.此方案为目前最新方案,仅支持Spring Boot 2.2.0.Spring Cloud Hox ...

  6. 【Dubbo3高级特性】「提升系统安全性」通过令牌进行服务验证及服务鉴权控制实战指南

    系列文章目录 如果你看到了这里,那么接下来你将会认识Dubbo3的诞生将如何引领微服务领域更进一步,从而迈入云原生的领域,这当然不仅仅是Dubbo3,之前也介绍了Java生态另外一个云原生领域的技术Q ...

  7. Mendix结合腾讯TSF实现微服务治理

    联合作者: 彭杉(原Mendix产品总监) 肖雨浓(腾讯云中间件总经理) 姜彪(Mendix技术经理) 韩欣(腾讯微服务平台技术经理) 刘阎(腾讯云中间件产品经理) 01. 概述 本文档介绍了西门子企 ...

  8. 云调用,小程序鉴权正确姿势

    目录: 一.无处不在的鉴权 1. 现实生活中的身份鉴权方法 2. 简单的密码鉴权体系 二.鉴权优化 1. 频繁的鉴权场景下的优化方案 2. 第三方鉴权体现下的设计--oAuth 2.0鉴权体系 三.说 ...

  9. 「springcloud 2021 系列」Spring Cloud Gateway + OAuth2 + JWT 实现统一认证与鉴权

    通过认证服务进行统一认证,然后通过网关来统一校验认证和鉴权. 将采用 Nacos 作为注册中心,Gateway 作为网关,使用 nimbus-jose-jwt JWT 库操作 JWT 令牌 理论介绍 ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——结构
  2. 外媒:英国索尔兹伯里事件中受伤警察已重返工作
  3. 维基解密揭秘CIA五种恶意软件用法
  4. 计算机办公高级试题,高级办公软件试题及解答
  5. oracle配置的监听文件,配置oracle监听文件
  6. ajax预加载html seo,AJAX网页如何实现SEO友好
  7. 华为首款可折叠屏5G手机今日开售;GitHub将开源代码保存在北极;Win10禁用WEP加密|极客头条...
  8. java测试步骤_java测试框架的方法
  9. Android ImageView ScaleType:图解
  10. Java Json字符串或Json对象属性查找工具类
  11. thinkphp 中英文语言包
  12. Atitit file cms api jcr1 jcr2 目录 1.1. 么是JSR-170幸运的是,被称为Java内容仓库(Java Content Repository,JCR)的JSR-
  13. GBaseDataStudio 管理工具简介
  14. Qt点击按钮两次才弹出菜单如何解决
  15. 从300行文件系统的实现内窥Linux VFS组织
  16. 学习MyBatis-Plus
  17. Microsoft Teams 创建Outlook邮件组的Team
  18. Linux valgrind java_linux下valgrind的使用概述
  19. 利用树莓派搭建校园网种子站
  20. WordPress Avada主题评测:非常受欢迎但值得吗? (2022)

热门文章

  1. python安装库后无法调用摄像头_银川监控摄像头安装,有人在代码里下毒!慎用 pip install 命令...
  2. echo print php,从0到1学习网络安全 【PHP基础-输出(echo/print)】
  3. mysql upload_关于mysql数据库里的 upload子查询问题
  4. db2 删除存储过程_数据库教程-SQL Server存储过程使用及异常处理
  5. 『操作系统』 进程的描述与控制 Part 1 前驱图与程序执行
  6. 前端必备,Adobe Premiere Pro 常用快捷键
  7. [二叉树]二叉树中和为某一值的路径 (剑指offer24)
  8. 用Microwindows(Nano-X)编写中文程序
  9. Python函数式编程简介(一)高阶函数
  10. python 如何将代码中的输入保存到txt里边