算法API与应用微服务

一、什么是API?

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

二、算法API与API两者之间有何区别?

有区别。一个狭义,一个广义。一个局限,一个全局。但共通之处,都是为了解决某一个问题。

三、什么是应用微服务?

应用微服务就是具备某一个或某一类业务功能的微服务。

四、应用微服务与算法API之间的关系有哪些?

应用微服务与算法API之间的关系如下:

  • 1.调用与被调用关系;
  • 2.依赖与被依赖关系;
  • 3.一粗一细关系。

五、应用微服务与算法API相结合之后的优缺点有哪些?

1.优点

  • (1)专业的人做专业的事情(算法与工程各司其职);
  • (2)调用方无需关注被调用方细节(黑盒);
  • (3)低耦合(HTTP协议通信,属于弱耦合,而非代码中的强耦合);
  • (4)不与任何的中间件发生直接或间接的关系(如消息队列、关系型数据、非关系型数据、搜索与数据分析引擎、分库分表中间件、Web服务等)。

2.缺点

  • (1)调用方团队需与被调用方团队保持密切联系(特别是算法API一方如内部规则变化,需及时通知应用微服务一方重新按照规则组装对应的数据,否则交互过程中可能会出现问题);
  • (2)问题连锁反应,调用方需依赖于被调用方提供的API,如被调用方出现问题,直接会影响到调用方程序正常运行(调用方需与被调用方沟通异常情况该如何处理)。

六、算法API与应用微服务适合哪些领域?

  • 金融;
  • 环保;
  • 工业;
  • 网络安全。

以上的应用场景均支持,换言之,适合专业知识要求高的领域。

七、算法API与应用微服务的难题有哪些?

最大的难题就是服务的稳定性和可用性,需保证被提供算法API的一方不能宕机,即便宕机,也要有对应的应急机制,确保宕机后,能迅速切到不同机器上的另外一个算法API,由此保障服务的稳定与可用。那么如何保证服务的可用性呢?集群是必然的。但不能一开始就十几台机器部署对应的服务然后通过Web中间件(Nginx)达到集群的目的,当大量用户不断的访问系统时,才需要增加对应的机器部署对应的服务,通过冗余达到服务的高可用。那么如何监测大量用户访问系统呢?后面会讲到。

文章目录
  1. 一、什么是API?
  2. 二、算法API与API两者之间有何区别?
  3. 三、什么是应用微服务?
  4. 四、应用微服务与算法API之间的关系有哪些?
  5. 五、应用微服务与算法API相结合之后的优缺点有哪些?
    1. 1.优点
    2. 2.缺点
  6. 六、算法API与应用微服务适合哪些领域?
  7. 七、算法API与应用微服务的难题有哪些?