目录
前言
本文可以帮助你了解到到API中台的概念以及存在的原因。
一、同构系统
系统中各个服务都是使用同一种编程语言开发。像Spring Cloud、Dubbo等框架都支持使用。
二、异构系统
系统中各个组件服务是使用不同种编程语言开发的系统。
来举一个栗子,证明为啥会需要API中台。看图说话。
这是我们模拟的一个场景,这种情况下,多个Java服务通过httpClient方式请求远程跨语言接口。
缺点就是维护性特别差 。
这里我们的解决思路就是:“没有什么是加一层解决不了的”。
通过添加API中台系统,可以方便我们做代码维护。至于API中台,我们可以给它加到SpringCloud项目中使用feign、RestTemplate+Ribbon方式调用,或用Dubbo框架完成调用都行,重点因为这里是同构系统,所以调用方式多样。
三、API中台作用
1.屏蔽外部接口复杂性
API中台会对不同服务发起的请求做解析,再以统一的格式请求到远程跨语言的服务接口,做了化繁为简的操作。
e.g :
A,B,C 三个服务都需要调用远程跨语言服务接口,那么三个服务的接口由于都是提前写好的,再去修改各个服务的请求方式显然是不合适的,所以此时我们通过API中台对不同请求方式的请求做解析,再以统一格式请求到远程跨语言服务接口即可。
2.方便代码维护
参见异构系统中的内容
四、使用API中台需要考虑的问题
1.权限问题
2.接口幂等性问题
接口幂等性:传入数据一致,得到结果一致
3.重复刷新问题
总结
以上是关于同构,异构系统以及API中台的的一个简单认识,主要了解思路,根据具体业务场景设计更加合理的解决方案即可。