过去从自身沉淀,到完成自己动手、具备自己知识产权的软后,的确给自己带来了很多额外的收货。而随着社会技术需求的不断深入,以及国家对人工智能的倡导。2021年针对未来五年而言,也是自己的一个开篇之年,所以又想要折腾一些事情。而为了折腾一些事情,又需要不断储备新知识啦。
image.png
从1990s至今,企业T架构的方式及相关技术不断演进,从紧耦合到松耦合,再到解耦合。
目前,企业T架构优化、转型过程中,“可持续、可复用、标准化、快速交付、无处不在的服务”已经成为新的需求及趋势。
你有你的数据、你有你的AI技术,那么是否可以相关通信、合作呢?答案是可以的,而这的第一步就是建立API网关。
image.png
一、为什么需要API网关
在微服务架构中,一个大应用被拆分成多个小的服务,这些微服务自成体系,可以独立部署和提供对外服务。一般来说,*微服务的调用规范主要有 RPC 和 Restful API 两种,API 网关主要针对的是后面一种,也就是以 Spring Cloud 为代表的微服务解决方案。一个常用的解决方案是使用 API 服务网关。在微服务设计中,需要隔离内外部调用,统一进行系统鉴权、业务监控等,API 服务网关是一个非常合适的切入口。
通过引入 API 网关这一角色,可以高效的实现微服务集群的输出,节约后端服务开发成本,减少上线风险,并为服务熔断、灰度发布、线上测试等提供解决方案。
二、API 网关服务定位
API 网关拥有处理请求的能力,从定位来看分为 5 类:
①面向 WebApp,这部分的系统以网站和 H5 应用为主。通过前后端分离的设计,将大部分的业务功能都放在了后端,前面的 Web App 只展示页面的内容。
②MobileApp,这里的 Mobile 指的是 iOS 和 Android,设计思路和 WebApp 基本相同。
区别是 API 网关需要做一些移动设备管理的工作(MDM)。例如:设备的注册,激活,使用,淘汰等,全生命周期的管理。
由于移动设备的特殊性,导致了我们在考虑移动设备请求的时候,需要考虑请求,设备,使用者之间的关系。
③面向合作伙伴的 OpenAPI,通常系统会给合作伙伴提供接口。这些接口会全部开放或者部分开发,在有条件限制(时间,流量)的情况下给合作伙伴访问。因此需要更多考虑 API 网关的流量和安全以及协议转换的管理。
④企业内部可扩展 API,给企业内部的其他部门或者项目使用,也可以作为中台输出的一部分,支持其他系统。这里需要更多地考虑划分功能边界,认证和授权问题。
⑤面向 IOT 设备,会接收来自 IOT 设备的请求,特别是工业传感器等设备。这里需要考虑协议转换和数据过滤。
网友评论