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

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

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

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

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

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

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

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

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

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

相关推荐
高一要励志成为佬9 小时前
【数据库】第三章 关系数据库标准语言SQL
数据库·sql
jasnet_u9 小时前
SpringBoot3.x+SpringCloudAlibaba2023+JDK17微服务基础框架搭建
微服务·云原生·架构
尽兴-9 小时前
MySQL执行UPDATE语句的全流程深度解析
数据库·mysql·innodb·dba·存储引擎·update
alonewolf_999 小时前
MySQL 架构与SQL执行全流程深度解析
sql·mysql·架构
MXM_7779 小时前
laravel 并发控制写法-涉及资金
java·数据库·oracle
进阶的小名9 小时前
[超轻量级消息队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个 MQ(自定义注解方式)
数据库·spring boot·redis·缓存·消息队列·个人开发
列御寇9 小时前
MongoDB分片集群——分片键(Shard Keys)概述
数据库·mongodb
oMcLin9 小时前
如何在Ubuntu 22.04 LTS上通过配置ZFS存储池,提升高吞吐量数据库的读写性能与可靠性?
linux·数据库·ubuntu
一条咸鱼_SaltyFish9 小时前
[Day16] Bug 排查记录:若依框架二次开发中的经验与教训 contract-security-ruoyi
java·开发语言·经验分享·微服务·架构·bug·开源软件