密苏里州圣路易斯。 法国奥尔良。 热门,希腊。
纵观历史,某些地方被冠以“通往_____的门户”的称号。 这些地点因其重要的战略意义而闻名,无论是对某个王国的防御(例如法国、斯巴达)还是作为扩张新土地的开端(例如圣路易斯)。 门户是通往其他地方的地方,通常是某个重要的地方。 如果你控制它,你就能控制谁或什么进入(或出去)。 它们提供访问控制并提供更有效的防御入侵或攻击的保护点。 在现代世界,当我们需要通过国际机场的“海关”或必须通过可怕的“安检”才能进入时,我们会在世界各地的机场看到这些通道。
因此,在技术发展史上出现了一组具有战略重要性的设备,统称为“网关”,这并不奇怪。
就应用而言,这些设备(在架构中占据战略点)提供了新兴技术的安全性、规模和互操作性。
大致来说,我们可以将网络防火墙视为网络中以应用为中心的网关的“第一个”实例。 毕竟,在早期,他们是守门人。 仅当网络防火墙允许访问时,才可以从公司网络外部访问应用程序。 然而,当今的网关具有更强的应用智能,不仅能满足安全性需求,还能满足规模、访问和互操作性需求。
随着我们步入物联网时代,所有这些都是关键关注点。 Vanson Bourne 最近进行的一项 HCL 调查发现,93% 的受访者担心安全性,86% 的受访者担心规模,83% 的受访者担心互操作性。 这一切都不足为奇。 需要访问应用程序来收集数据、交换命令和监控事物的设备数量之多必定会对任何网络产生巨大影响。 企业迫于压力迅速将下一个“产品”推向市场,这对安全性产生了有害影响。 在一个新市场中,互操作性始终是一个挑战,因为它在实现其预期用途的同时,也严重依赖与其他事物和应用程序的通信。 新兴市场往往会迅速分化,各种标准不断聚集,直到有一天,我们确定一两种标准。 但在早期,人们往往会面临一系列复杂且令人困惑的选择。 创新者不愿意等待尘埃落定。 毕竟,创新者只有进入市场才能获得胜利。
问题就变成了在新兴技术日趋成熟和标准逐渐制定的过程中如何解决安全性、规模和互操作性问题。 答案通常是网关。
过去,网关的出现是为了应对其他技术和协议(如 XML 和 SOAP)所面临的相同挑战。 我不是唯一一个会记得(并且可能感到畏缩)RPC/ENC 和 DOC/LIT 之间的争斗作为 Web 服务“标准”的人。 而且我并不是唯一一个记得最近 JSON 和 XML 之间的争斗的人。 如今,这些拉锯战发生在物联网领域,MQTT、CoAP 和 AMQP 正在争夺主导地位。
然而,创新不能等待,各种网关应运而生,以应对新技术和新协议带来的挑战。
HTTP2 网关主要解决HTTP/1x 和 HTTP/2 之间的互操作性挑战。 这些设备在“外部”终止 HTTP2,以便支持使用最新 HTTP 标准时性能更敏捷的移动和物联网设备。 它们使创新者能够为消费者和事物提供对 HTTP2 的支持,而无需升级应用程序和网络基础设施以支持新标准所需的大规模中断。 当然,我们希望(期望)有一天每个人都会运行 HTTP2,但与此同时,HTTP2 网关提供了创新者全速前进所需的互操作性。
API网关的出现,就如同蝴蝶破茧而出。 它曾经是一只毛毛虫(SOA 网关),但现在它变成了一只蝴蝶(API 网关)。 现在,这并不是说这个类别没有新进入者——有——但它们确实有很多相似之处,主要是因为两者的基础都存在于 HTTP 中。 SOA 网关主要关注 XML 和 SOAP,而 API 网关则专注于使用 HTTP 端点实现的 JSON 和 RESTful API。
这些设备提供安全性和规模,在某些情况下还提供互操作性服务。 他们精通应用程序语言,可以轻松地使用 JSON 和 HTTP,并为支持微服务和无服务器等新兴应用程序模型提供了坚实的基础,这些模型不仅可以在应用之间分配 API 调用,还可以在环境之间分配。 API 网关还通过强制执行配额(调用速率限制)以及通过 API 密钥管理控制访问来保护可扩展性。
这些不仅仅是“负载均衡器”,尽管通过负载均衡进行扩展无疑是 API 网关的一个关键特性。 这些“坏家伙”必须能够超越普通的旧式负载均衡,以实现一致的面向消费者的体验,同时使开发人员和企业能够利用云和无服务器。 如果 API 网关要保护和扩展 API,它们就需要“智能”,这意味着能够检查请求和响应以及与 OAuth2 和 JWT 等外部身份验证提供程序集成。
物联网网关是目前新兴的网关,但它们已经存在,并且对于物联网计划的成功至关重要,或许比各自市场的其他网关更为重要。 这与协议有关,而协议根本不是网络友好的协议。 虽然许多消费类电子产品确实支持“网络”,但越来越多的产品制造商开始依赖 MQTT 和 CoAP 等物联网专用协议,因为它们效率更高并且消耗的设备上计算资源更少。 但是接收这些数据的应用程序不一定会使用 MQTT,即使使用,它们也无法自行扩展以满足(希望是出色的)需求。
因此出现了物联网网关,它精通物联网和网络语言,并且可以同时扩展和保护访问。 这些网关(如 API 网关)需要足够“智能”,以转换和路由请求和响应,以及检测异常或不良行为以防止被利用。
从架构上来说,网关提供对网络和应用的访问。 请求通过它们进行传递,使它们成为可以控制访问、提供翻译和实施安全的战略控制点。 它们是新技术的关键推动因素,因为它们使组织能够在任何新技术或协议出现的自然过渡期内进行创新,同时对现有业务和应用造成的干扰和风险较小。
尽管网关往往被视为一种建筑构造,但如今它们往往是创新的关键推动因素,使企业能够利用新兴技术的力量。