平台介绍-开放API后台微服务

由于平台的数据库是分布的(一般按业务进行分布,例如OA的、人力资源的),加上一个微服务对应一个数据库的默认限制,决定了开放API后台微服务也是多个。从策略上,可以把开放API服务和内部微服务合二为一,即对外系统提供开放API服务,又对内提供业务调用服务。但是不建议这么做。

首先,两种调用的鉴权方式不同,拦截器不同。

其次,从安全角度,对内服务的服务内容更多,开放API一般服务有限,不易混在一起。

最后,分开维护比较方便点。

其他系统访问开放API服务可以直连对应服务器。平台不推荐这个方式,正规做法还是让其他系统统一访问网关,通过访问路由到具体开放API服务。这样也会带来另一个好处,就是API服务也可以根据访问量的不同,启动多个服务。

开放API后台服务路由规则如下:

/openapi/api服务标识/具体服务地址。

/openapi前缀告诉spring gateway这是一个openapi请求,需要使用不同于内部服务调用的鉴权方式。

api服务标识告诉spring gateway路由到那个api服务。

相关推荐
2401_882273721 分钟前
golang如何处理zip压缩包_golang zip压缩包处理思路
jvm·数据库·python
猫的玖月3 分钟前
SQL语法简介
数据库·sql·oracle
tjc199010057 分钟前
Golang怎么实现分布式定时任务_Golang如何保证集群中定时任务不重复执行【进阶】
jvm·数据库·python
2301_7735536215 分钟前
构建 Go CLI 应用的最佳实践:纯 Go 交互式命令行库选型与使用指南
jvm·数据库·python
qq_3729069318 分钟前
c#如何添加按钮点击事件_c#添加按钮点击事件的几种常见用法
jvm·数据库·python
SmartBrain18 分钟前
AI技术演进与实战路径洞察
人工智能·架构·aigc
AI木马人20 分钟前
8.【向量数据库深度对比】Milvus vs FAISS vs Pinecone(真实项目选型指南)
数据库·milvus·faiss
2301_8176722623 分钟前
JavaScript 中高效定位二维数组间不匹配元素的行列索引
jvm·数据库·python
ZGi.ai24 分钟前
ZGI四层能力架构:一个企业AI底座的设计逻辑
人工智能·架构
2401_8314194425 分钟前
golang如何实现验证码图片生成_golang验证码图片生成实现实战
jvm·数据库·python