前言
应公司要求开发第三方Api流程开发,本文章主要用于技术学习,技术保留,以及然后复盘使用,均为个人理解,有不对的地方欢迎大家指出不足之处。
为什么要对外开放接口
在日常开发,我们会经常接触第三方接口api,你的天气获取、摄像头监听、GPS平台对接、各种各样的平台对接,或者公司平台对平台,聚合数据类型平台等等,只要是你的网站缺少的内容并且是你没有的但是别人做了,那你就需要别人给你开放接口,供你调用数据。本质上其实还是数据传输,只不过对外开放是企业为了满足多个用户的要求来准备的一套对接标准,这样不需要给每个客户专门定制而让客户用这一套就行,既减少了企业的开发成本,有提高了员工的工作效率。
对外开放有哪些实现
早期开发是使用第三方的sdk jar包下载,然后进行二次开发,但随着技术的发展,早期的方式显然已经不能满足各大企业的开发,这个时候服务间调用变得流行起来,Feign框架 和 远程RPC调用,JsonRpc,http Api接口调用变得越来越多,但最后大部分企业还是采用Http Api的形式来调用,因为这个方式给前端也可以很完美的使用,并不像远程调用一样繁琐。
对外开发服务流程
我们公司采用微服务风格分布式架构来开发,技术属于企业的中游了的,用的都比较新 服务注册中心为nacos、网关为gateway、服务间调用采用feign。
由于我们是一家物联网公司我接到的需求为设备服务上发数据需要实时推送到客户平台,这里面的重点为实时与推送。
目前想法为搭建OpenApi服务专注于处理数据,而不是专门接收设备数据,设备数据交由给设备服务去进行,设备服务使用RocketMQ推送到相应Topic,OpenApi去进行数据处理然后推送给第三方服务。
对外开发登录认证流程
应用开放接口
根据萤石云的应用理解,应用开放接口是指用户可以不需要账号密码就可以获得服务器数据。并且每个应用会产生AppId 与 AppKey两个类似用户名和密码的一个应用秘钥
总结
- 对外开发接口系统,是企业为了给其他第三方提供的一个数据暴露系统
- 对外开发接口系统,多用于应用开放