异构系统中API中台的衍生

目录

前言

一、同构系统

二、异构系统

三、API中台作用

1.屏蔽外部接口复杂性

2.方便系统的开发维护

四、使用API中台需要考虑的问题

1.权限问题

2.接口幂等性问题

3.重复刷新问题

总结


前言

本文可以帮助你了解到到API中台的概念以及存在的原因。


一、同构系统

异构系统中API中台的衍生_第1张图片

系统中各个服务都是使用同一种编程语言开发。像Spring Cloud、Dubbo等框架都支持使用。

二、异构系统

异构系统中API中台的衍生_第2张图片

系统中各个组件服务是使用不同种编程语言开发的系统。

来举一个栗子,证明为啥会需要API中台。看图说话。

异构系统中API中台的衍生_第3张图片

这是我们模拟的一个场景,这种情况下,多个Java服务通过httpClient方式请求远程跨语言接口。

缺点就是维护性特别差

这里我们的解决思路就是:“没有什么是加一层解决不了的”

异构系统中API中台的衍生_第4张图片

 通过添加API中台系统,可以方便我们做代码维护。至于API中台,我们可以给它加到SpringCloud项目中使用feign、RestTemplate+Ribbon方式调用,或用Dubbo框架完成调用都行,重点因为这里是同构系统,所以调用方式多样。

三、API中台作用

1.屏蔽外部接口复杂性

        API中台会对不同服务发起的请求做解析,再以统一的格式请求到远程跨语言的服务接口,做了化繁为简的操作。

e.g :
A,B,C 三个服务都需要调用远程跨语言服务接口,那么三个服务的接口由于都是提前写好的,再去修改各个服务的请求方式显然是不合适的,所以此时我们通过API中台对不同请求方式的请求做解析,再以统一格式请求到远程跨语言服务接口即可。

2.方便代码维护

        参见异构系统中的内容

四、使用API中台需要考虑的问题

1.权限问题

2.接口幂等性问题

        接口幂等性:传入数据一致,得到结果一致

3.重复刷新问题


总结

以上是关于同构,异构系统以及API中台的的一个简单认识,主要了解思路,根据具体业务场景设计更加合理的解决方案即可。

你可能感兴趣的:(架构设计,架构,经验分享)