美文网首页微服务中台设计开发
微服务-调用三方服务接口项目设计

微服务-调用三方服务接口项目设计

作者: wenyu7980 | 来源:发表于2021-04-22 10:20 被阅读0次

    背景

    项目开发过程中通常会调用一些三方的接口。
    例如:对象存储,企业信息查询,短信发送等等。

    问题

    因为三方的接口通常都是有多个产品可以选择的,例如,对象存储服务,可以使用阿里云的OSS,华为云的OBS,还有本地部署的FastDFS、Minio等,所以有时候需要考虑扩展性。

    通常项目使用三方的接口在开发时基本会确定而且日后很少更换,也很难更换(例如对象存储如果需要更换的话,还要牵扯历史数据的迁移。但是短信服务更换相对来说迁移成本就很低)。

    设计思路

    Java是面向对象语言,遵从面相接口开发模式。

    设计接口

    因为现有的三方接口需要的参数其实差不多,所以可以餐口某一家的设计接口。例如对象存储服务上传对象需要,bucket名称,对象id等。

    具体实现

    针对接口去做具体的实现。

    代码开发方式

    • 整合
    • 优点:不需要额外创建jar包,单体应用适用。
    • 缺点:三方接口可能需要引入自己的jar包,maven中可能需要引入多个三方的jar包,不过可以使用scope来设置是否打包到项目中
    • 拆分
    • 优点:可以根据接口独立的开发三方的具体实现,maven中只需要引入需要的部分
    • 缺点:需要额外的jar包,不太适合单体应用

    示例

    因为想打造一个通用的服务于微服务的功能,所以采用了拆分的代码开发方式开发。
    github:
    https://github.com/wenyu7980/wy-file
    gitee:
    https://gitee.com/wenyu7980/wy-file

    总结

    本文更多的想展现一种应对三方接口开发的思路,虽然实际开发中很好会出现更换三方接口的情况。

    相关文章

      网友评论

        本文标题:微服务-调用三方服务接口项目设计

        本文链接:https://www.haomeiwen.com/subject/xlexrltx.html