随着微服务应用程序的日益流行,IT团队需要在各微服务之间建立起可靠的网络体系,借此保证有序通信。Service Mesh的黄金时代也由此拉开帷幕。
Service Mesh已经成为网络技术领域的新宠儿,彻底改变了应用程序网络服务的基本面貌。Service Mesh在设计上强调为容器中运行的各微服务提供可靠的相互通信、安全保障与流量分析能力。时至今日,微服务已经成为驱动DevOps团队实现应用敏捷开发的主流平台。
微服务与容器需要依靠物理网络实现互相通信,进而连接至其他应用程序。为此,IT与安全团队自然需要建立起相应架构,用以支持生产级微服务部署在规模化、性能与管理方面提出的独特需求。Service Mesh虽然能够提供强大的网络功能,但在规模化部署与管理方面却也带来了新的难题。
如今,Service Mesh技术仍在不断发展,市面上的供应商选项与标准协议也有很多。需要注意的是,Service Mesh一般更适合大型微服务应用程序部署场景,对于体量较小或者处于前生产阶段的应用程序反而过于复杂。IT部门需要认真评估微服务通信选项,包括各类Service Mesh变体,谨慎地选择更适合整体应用程序网络架构的解决方案。
微服务架构对数据中心网络需求的影响
相较于基于虚拟机管理程序的主流应用程序,基于微服务架构的应用程序往往在架构层面存在很大不同。例如,微服务架构中包含大量运行在不同服务器或计算核心内个别容器中的小程序。单一应用程序内各微服务之间的高频率事务,往往会对通信延迟与传输带宽提出严苛要求。
Service Mesh虽然能够提供强大的网络功能,但在规模化部署与管理方面却也带来了新的难题。
基于容器的微服务往往会在服务器之间灵活迁移物理位置,同时提供关于位置变化及状态变化的报告数据。这种高度动态的特性,导致IT专业人员很难及时找到目标微服务并解决由此带来的应用性能问题。
应用程序开发者当然不想、也不需要深入理解微服务连接中使用的复杂底层网络协议。相反,他们只希望直接描述应用程序必须满足的网络与安全要求。为此,企业需要四种能力以对接各种基于微服务(或容器化)的应用程序:第一,能够灵活对接小型、中型及大型应用程序;第二,易于联网,并将网络复杂性因素隔离在外;第三,能够在内部数据中心或公有云中连接并运行应用程序;第四,细粒度安全控制能力。
随着微服务部署逐渐成为市场主流,容器网络服务需要被全面集成至整个网络与安全管理系统当中。
使用Service Mesh实现微服务通信
Service Mesh是一种网络软件,能够在各项微服务之间提供可靠且安全的通信机制。其网络功能包括抽象、服务质量与安全保障(例如身份验证与加密)等等。各项网络请求将通过与服务本体一同运行的边车代理,在各微服务之间往来路由。这些代理共同形成一套网格网络,用以对接各项微服务。中央控制器则提供访问控制,并负责实现网络与性能管理。
Service Mesh负责在微服务应用程序与具体的网络路由及安全要求复杂性之间提供逻辑隔离。Service Mesh提供的抽象支持能够独立于物理网络之外,在各微服务上快速灵活地进行部署。
Service Mesh解决方案
目前,我们可以为容器上部署的分布式微服务架构选择多种Service Mesh技术方案。Istio是由谷歌牵头开发的领先开源Service Mesh选项,Red Hat也为Istio的开源版本提供支持。此外,各大云服务巨头,包括AWS、微软与谷歌等,也都在自家IaaS产品中提供Service Mesh选项,不少网络供应商同样开发出自己的Service Mesh解决方案。
Citrix——Citrix提供多种Service Mesh架构选项,帮助用户在需求与便捷性之间取得平衡,范围涵盖简单的双层入口以及功能丰富的Service Mesh。Citrix还支持与Istio相集成。如果企业希望享受Service Mesh带来的优势,但又不想接触过多复杂的要素,Citrix的Service Mesh Lite可能是个不错的选择。
F5——F5提供两种Service Mesh选项。Aspen Mesh采用基于Istio的架构,能够满足涵盖成千上万项微服务的大规模部署需求。如果企业的微服务规模在数百项量级,则可以选择更简单的方案选项Nginx,并借此将Nginx Ingress与API网关功能集成至Service Mesh当中。
VMware——VMware Tanzu Service Mesh (TSM)能够支持应用程序连续性、弹性与安全性,为专注于实施应用程序现代化、多云环境以及数据保护的企业提供理想的价值回报。TSM还能与VMware NSX Advanced Load Balancer相集成,共同提供多集群入口服务,确保开发团队能够直接将Service Mesh引入其应用程序。
Service Mesh带来的挑战
Service Mesh虽然功能强大,但其技术本身也相当复杂。必须承认,这项技术难以学习、更不易实现,缺乏网络知识背景的员工甚至很难理解其底层原理。在大多数企业中,Service Mesh都处于早期部署阶段。另外,由于Service Mesh技术仍在不断发展,因此多数IT部门都很难确定该推广哪些最佳实践。
Service Mesh的出现,也给本就十分复杂的数据中心网络架构添加了新的选项。具体来讲,这套架构中的以太网、交换机、路由器、防火墙、应用程序交付控制器等物理与逻辑元素都因Service Mesh的加入而更加错综复杂。IT团队必须弄清楚该如何将Service Mesh的操作及管理机制整合至原有应用程序、安全性与网络自动化平台当中。
小结
基于容器的微服务,让DevOps团队获得了快速开发新型分布式应用程序的能力。但要实现这些基于微服务的应用程序,我们也需要掌握新的网络、安全与分析能力。随着微服务架构逐步由试验性实施过渡至生产环境,为其建立大规模网络体系将构成新的挑战。
Service Mesh在为微服务应用提供网络与安全支持方面极具优势。它对网络基础设施进行抽象化处理,确保微服务应用程序能够始终维持良好的网络与安全策略,无需在每次变更时都与数据中心网络团队进行交互。
目前,大多数企业环境中的微服务、容器与Service Mesh技术都处于早期部署阶段。随着技术本身的不断成熟,IT团队必须评估多种Service Mesh选项——包括云服务、开源方案以及各供应商推出的专有产品。
另外,Service Mesh主要面向大型关键任务应用程序,对小型应用来说可能太过复杂。如果企业的应用程序特别适合Service Mesh部署,请务必保证IT部门为此制定明确计划,将Service Mesh技术妥善整体至原有管理与自动化平台之内。
好文章,需要你的鼓励
这篇研究重新审视了循环神经网络中的双线性状态转换机制,挑战了传统观点。高通AI研究团队证明,隐藏单元不仅是被动记忆存储,更是网络计算的积极参与者。研究建立了一个从实数对角线到完全双线性的模型层级,对应不同复杂度的状态跟踪任务。实验表明,双线性RNN能有效学习各种状态跟踪任务,甚至只需极少量训练数据。研究还发现,纯乘法交互比加法交互更有利于状态跟踪,为循环网络设计提供了新视角。
这项研究探讨了多模态大语言模型在增强推理能力时出现的视觉幻觉问题。研究发现,模型生成更长推理链时,对视觉信息的关注减少,导致幻觉增加。研究者提出RH-AUC指标和RH-Bench基准来评估模型在推理与幻觉间的平衡,发现较大模型表现更好,纯强化学习训练优于监督微调加强化学习,且训练数据的类型比数量更重要。这些发现对开发既具推理能力又保持视觉准确性的AI系统具有重要意义。
这篇研究探讨了大语言模型在自动推理任务中的不确定性问题。研究者提出,模型生成形式规范时的概率不确定性不是缺陷,而是宝贵的信号源。通过引入概率上下文无关文法框架分析SMT-LIB程序分布,他们发现不确定性信号具有任务相关性(如逻辑任务中的语法熵AUROC>0.93)。他们的轻量级信号融合方法能减少14-100%的错误,仅需最小弃权,将大语言模型驱动的形式化转变为可靠工程学科。研究揭示当模型正确理解逻辑关系时会产生稳定的语法模式,为判断何时信任模型提供了可靠指标。
来自沙特阿拉伯王子苏丹大学和阿尔法萨尔大学的研究团队开发了GATE(General Arabic Text Embedding)模型,这是一套专为阿拉伯语设计的文本嵌入系统。该研究结合了套娃表示学习和混合损失训练方法,解决了阿拉伯语特有的语义处理挑战。GATE模型在MTEB基准测试的语义文本相似度任务中表现卓越,比包括OpenAI在内的更大模型高出20-25%,同时保持了多维度(768至64)的高效表现。研究通过详细的错误分析揭示了模型在不同相似度水平上的表现特点,为阿拉伯语NLP领域提供了新的研究方向。