蚂蚁集团 Service Mesh 进展回顾与展望

Linux中间件在云原生架构中的革命性实践:从Service Mesh到Serverless 当中间件不再可见,才是真正成熟的云原生架构”基础设施即代码:Terraform/Crossplane深度掌握可观测性工程:OpenTelemetry全栈实践混沌工程:构建韧性系统的核心方法策略即代码:Open Policy Agent高级应用硬件加速:DPDK/GPU异构计算优化学习路径推荐基础:《云原生模式》进阶:《分布式系统:概念与设计》实战:《Istio权威指南》“未来的中间件将完全融入基础设施,成为智能系统的神经网络。 阅读详情

8133fe99931fc27d724577670a39f49f.gif

文|石建伟(花名:卓与)

蚂蚁集团高级技术专家

专注服务领域中间件多年,负责蚂蚁集团内部 Service Mesh 落地

以下内容整理自 SOFAStack 四周年的分享

本文 6486 字 阅读 15 分钟

PART. 1

引言

继 2019 年的 《蚂蚁集团 Service Mesh 落地实践与挑战》之后,蚂蚁集团在 Service Mesh 方向已经继续探索演进近 3 年。这 3 年里有哪些新的变化,以及对未来的思考是什么,值此 SOFAStack 开源 4 周年之际,欢迎大家一起进入《蚂蚁集团 Service Mesh 进展回顾与展望》章节探讨交流。

本次交流将以如下次序展开:

c5da13b33270add4101c34199c99ab9d.png

PART. 2

蚂蚁集团 Service Mesh 发展史

668d8d9c84f801e0dec6ada5de8d5569.png

2018 年 3 月份|蚂蚁集团的 Service Mesh 起步,MOSN 数据面诞生,起步就坚持走核心开源,内部能力走扩展的道路;

2019 年 6.18|我们在三大合并部署应用上接入了 MOSN,并且顺利支撑了 6.18 大促;

2019 年双 11 |蚂蚁所有大促应用平稳的度过双大促;

2020 年|MOSN 对内沉稳发展把接入应用覆盖率提升至 90%,对外商业化开始展露头角。蚂蚁集团全站 90% 标准应用完成 Mesh 化接入。在商业版本中,SOFAStack“双模微服务”架构也在江西农信、中信银行等众多大型金融机构成功落地实践。

2021 年|随着 Mesh 化的逐步成熟,多语言场景的逐步丰富,Mesh 化对中间件协议的直接支撑带来扩展性问题也逐步凸显,Dapr 的应用运行时概念也逐步崛起。这一年我们开源了 Layotto,期望通过应用运行时 API 的统一来解决应用和后端中间件具体实现耦合的问题,进一步解耦应用和基础设施,最终解决应用在多云运行时的厂商绑定问题。

2022 年|随着 Mesh 化落地的基础设施能力逐步完善,我们开始考虑 Mesh 化如何给业务带来更多价值。在 Mesh 1.0 时代,我们尽可能下沉中间件相关的能力,提升了基础设施的迭代效率;在 Mesh 2.0 时代,我们期望能有一种机制,可以让业务侧相对通用的能力做到按需下沉,并且具备一定的隔离性,避免下沉的能力影响 Mesh 数据代理主链路。

我们以图示的方式简诉一下 Service Mesh 架构演进的几个阶段:

1、SOA 时代

中间件的客户端,均直接集成在业务进程内:

71b9a12bbabbc1e1c4f4d417812879d3.png

2、Mesh 化阶段

中间件能力下沉,应用和基础设施实现部分解耦:

f389048b16df146086357ab4da4ecbd6.png

3.应用运行时阶段

将应用和具体基础设施的类型解耦,仅依赖标准 API 编程:

6d968f350bae6ceeec7fc21e99ecb1b9.png

PART.3

东西向流量规模化挑战

Mesh 化后的数据面, MOSN 承载了应用间非常核心的东西向通信链路,目前在蚂蚁集团内部覆盖应用数千,覆盖容器数 10W+,海量的规模带来了如长连接膨胀、服务发现数据量巨大、服务治理困难等问题。接下来,我们来聊一聊在演进的过程中遇到并解决掉的一些经典问题。

 3.1 长连接膨胀问题 

在海量规模的应用背后存在着复杂的调用关系,部分基础性服务被大部分应用所依赖,由于调用方全连服务提供方的机制存在,一个基础性服务的单 Pod 需要日常承载近 10W 长连接,单机 QPS 一般还是有上限的。我们以 1000 QPS 的 Pod 举例,10w 长连接的场景下,每条长连接上的 QPS 是非常低的,假设所有连接的请求均等,平均每条长连接每 100s 仅有一次请求产生。

为了保证长连接的可用性,SOFA RPC 的通信协议 Bolt 有定义心跳包,默认心跳包是 15s 一次,那么一条长连接上的请求分布,大概如下图所示:

310de90da5685daed56795b859ff0d27.png

在上述场景中,一条长连接上心跳包的请求数量远大于业务请求的数量,MOSN 在日常运行中,用于维护长连接可用句柄持有内存的开销,还有心跳包发送的 CPU 开销,在海量规模集群下不可忽视。

基于以上问题,我们找到了两个解法:

- 在保证连接可用的前提下减少心跳频率;

- 在保证负载均衡的前提下降低应用间的连接数。

3.1.1 心跳退避

由于心跳的主要作用是尽可能早的发现长连接是否已不可用,通常我们认为经过 3 次心跳超时,即可判定一条长连接不可用。在一条长连接的生命周期里,不可用的场景占比是非常低的,如果我们把长连接的检测周期拉长一倍就可以减少 50% 的心跳 CPU 损耗。

为了保障检测的及时性,当出现心跳异常(如心跳超时等)场景时,再通过降低心跳周期来提高长连接不可用时的判定效率,基于以上思路我们设计了 MOSN 里的长连接心跳退避策略:

- 当长连接上无业务请求且心跳正常响应时,逐步将心跳周期拉长 15s -> 90s。

915278f9a1521fed4d5d523a77e0dc28.png

- 当长连接上出现请求失败或心跳超时的场景时,将心跳周期重置回 15s。

cda62cbe5923fe8de88d9ffd4bcd3ef3.png

- 当长连接上存在正常业务请求时,降级本次心跳周期内的心跳请求。

5d1df8675e1da148674429ded2a8357b.png

通过以上心跳退避的手段,MOSN 的常态心跳 CPU 消耗降低至原来的 25%。

3.1.2 服务列表分片

从心跳退避的优化可以看出,在海量长连接的场景下,单长连接上的请求频率是很低的,那么维护这么多长连接除了对负载均衡比较友好之外,其他的收益并不大。

那么我们考虑另外一个优化方向,就是减少客户端和服务端之间建立的长连接数量。

MOSN 使用一致性哈希的策略对服务端机器进行分组:在客户端的内存中,首先将全量的服务端机器列表加入到一致性哈希环中,然后基于配置计算预期分片情况下的机器列表数 N,随后根据客户端机器 IP,从一致性哈希环中获取 N 个机器列表作为本机器的分片列表。

每个客户端计算的哈希环都是一样的,不同的机器 IP 使得最终选择的机器分片列表是不同的,实现了不同客户端机器持有不同的服务端集群分片的效果。

ad606431f2a8356768745a81cc159e95.png

通过对服务列表的分片优化,客户端向服务端建立的长连接数量急剧减小,在 6w 长连接且采用 50% 的负载均衡分片的场景下:

单机 CPU 降低约 0.4 Core,内存降低约 500M。

 3.2 海量服务发现问题 

MOSN 的服务发现能力没有使用 Pilot,而是在内部直接和 SOFARegistry(服务注册中心) 对接,使用这种架构的原因之一就是 RPC 的接口级服务发现,节点的 Pub、Sub 量巨大,海量应用的频繁运维产生的节点变更推送对 Pilot 的性能和及时性挑战都很大,社区有使用 Pilot 在稍大规模下做 CDS 下发的过程中也发现非常多的性能问题并提交 PR 解决,但对于蚂蚁集团一个机房就有 200W Pub,2000W Sub 的规模下,Pilot 是完全无法承载的。

SOFARegistry 的架构是存储和连接层分离,存储为内存分片存储,连接层也可以无限水平扩容,在内部海量节点变更下也能实现秒级变更推送。

虽然 SOFARegistry 的推送能力没什么问题,不过海量节点变更后产生的推送数据,会导致 MOSN 内有大量的 Cluster 重构,列表下发后到 Cluster 构建成功的过程中,会有大量的临时内存产生,以及 CPU 计算消耗。这些尖刺型内存申请和 CPU 占用,是可能直接影响请求代理链路稳定性的。

为了解决这个问题,我们也考虑过两个优化方向:

- SOFARegistry 和 MOSN 之间把全量推送改造为增量推送;

- 服务发现模型从接口级切换为应用级。

其中第一点能带来的效果是每次列表推送变化为原推送规模的 1/N,N 取决于应用变更时的分组数。

第二点能带来的变化是更加明显的,我们假设一个应用会发布 20 个接口,100 个应用的 Pod 产生的服务发现数据是 20*100=2000 条数据,接口粒度服务发现的数据总量会随着应用接口数量的增长,数倍于应用节点数的规模持续增长;而应用级服务发现可以把节点总量控制在应用 Pod 数这个级别。

3.2.1 应用级服务发现演进

接口级服务发现示例(相同节点中多个服务中重复出现):

c849927724e91f99fe5e24444373f3c2.png

应用级服务发现示例(结构化表示应用、服务、地址列表间的关系):

f43f615d1d5eaeaee52a333344b66124.png

通过对应用和接口关联信息的结构化改变,服务发现的节点数量可以下降一到两个数量级。

接口级服务发现演进到应用级服务发现对于 RPC 框架来讲是一个巨大的变化,社区中有 Dubbo 3.0 实现了应用级服务发现,但这种跨大版本的升级兼容性考量很多,对于在奔跑的火车上换轮子这件事情,在框架层演进是比较困难的。由于蚂蚁集团内部的 Service Mesh 已经覆盖 90% 的标准应用,所以在服务发现演进方面我们可以做的更加激进,结合 MOSN + SOFARegistry 6.0,我们实现了接口级服务发现和应用级服务发现的兼容性以及平滑切换的方案,通过 MOSN 版本的迭代升级,目前已经完成接口级到应用级服务发现的切换。

通过上述改进,生产集群的服务发现数据 Pub 数据量下降 90%,Sub 数据量下降 80%,且整个过程对应用完全无感,这也是 Mesh 化业务和基础设施解耦后带来实际便利的体现。

3.2.2 MOSN Cluster 构造优化

通过应用级服务发现解决数据量变更过大的问题之后,我们还需要解决在列表变更场景下,产生的 CPU 消耗和临时内存申请尖刺问题。

在这个问题中,通过对内存申请的分析,Registry Client 在收到服务端推送的列表信息之后需要经历反序列化,构造 MOSN 需要的 Cluster 模型并更新 Cluster 内容,其中比较重的就是构建 Cluster 过程中的 Subset 构建。通过使用对象池,并且尽量减少 byte[] 到 String 的拷贝,降低了内存分配,另外通过 Bitmap 优化 Subset 的实现,让整个 Cluster 的构造更加高效且低内存申请。

经过上述优化,在超大集群应用运维时,订阅方列表变更临时内存申请降低于原消耗的 30%,列表变更期间 CPU 使用量降低为原消耗的 24%。

 3.3 服务治理智能化演进 

MOSN 把请求链路下沉之后,我们在服务治理方面做了非常多的尝试,包括像客户端精细化引流、单机压测引流、业务链路隔离、应用级别的跨单元容灾、单机故障剔除、各种限流能力等。由于篇幅关系,我这里仅介绍下我们在限流场景下做的智能化探索。

开源社区的 Sentinel 项目在限流方向做了一个非常好的实践,MOSN 在做限流早期就和 Sentinel 团队沟通,希望能基于 Sentinel 的 Golang 版本 SDK 来做扩展,站在巨人的肩膀上,我们做了更多的尝试。

e0a60f8bdf72e372a716a85dd33d5ed8.png

基于 Sentinel 可插拔的 Slot Chain 机制,我们在内部扩展了很多限流模块的实现,如自适应限流 Slot、集群限流 Slot、熔断 Slot、日志统计 Slot 等。

29d2815e6e2d124954d0a684790d4855.png

在 MOSN 做限流能力之前,Java 进程内也是存在限流组件的。业务常用的是单机限流,一般会有一个精确的限流值,这个值需要经过反复的压测,才能得到单机的最大可健康承载的 TPS,并且会随着业务应用本身的不断迭代、功能增加,链路不断复杂而逐步变化。所以每年大促前,都会准备多轮全链路压测,来确保每个系统都能在满足总 TPS 的情况下,对自身应用所应该配置的限流值有一个精确的预估。

为了解决限流配置难的问题,我们尝试在 MOSN 内实现了自适应限流,根据对容器当前的接口并发、CPU、Load1 信息采集上报,再结合最近几个滑动窗口中,每个接口的请求量变化,可以自动识别是什么接口的并发量增加导致了 CPU 资源占用的提升。当负载超过一定的基线之后,限流组件可以自动识别出哪些接口应该被限流,以避免资源使用超过健康水位。

4e8780d32eb43bfbb48bbe71f8997dd6.png

在实际的生产环境中,自适应限流可以迅速精准的定位异常来源,并秒级介入,迅速止血。同时也可以识别流量类型,优先降低压测流量来让生产流量尽可能成功。大促前再也不需要每个应用 Owner 去给自己应用的每个接口配置限流值,大幅度提升研发幸福感。

5adea0c47e491c0c66c39e229e6b8ece.png

PART. 4

南北向流量打通

MOSN 作为 Service Mesh 的数据面主要在东西向流量上发力,除了东西向流量之外,还有南北向流量被多种网关分而治之。

9d68c84958835211483207321b0d28de.png

蚂蚁集团下有许多不同的公司主体,分别服务于不同的业务场景,各主体有与之对应的站点来部署应用对外提供服务。南北向流量最常见的是互联网流量入口,这个角色在蚂蚁集团由 Spanner 承载。除了互联网流量入口之外,多个主体公司间也可能存在信息交互,在同一个集团内的多公司主体如果信息交互需要绕一道公网,稳定性会大打折扣,同时带宽费用也会更贵。

为了解决跨主体的高效互通问题,我们通过 SOFAGW 搭建起了多主体间的桥梁,让跨主体的应用间通信和同主体内的 RPC 通信一样简单,同时还具备链路加密、鉴权、可审计等能力,保障多主体间调用合规。

268fc99799437b8fec495194ed94cd58.png

SOFAGW 基于 MOSN 2.0 架构打造,既能使用 Golang 做高效研发,同时也能享受 Envoy 在 Http2 等协议处理上带来的超高性能。

da58104449a01d8f757109e3faeed5e5.png

简单介绍一下 MOSN 2.0 架构,Envoy 提供了可扩展的 Filter 机制,来让用户可以在协议处理链路中插入自己的逻辑,MOSN 通过实现一层基于 CGO 的 Filter 扩展层,将 Envoy 的 Filter 机制进行了升级,我们可以用 Golang 来写 Filter,然后嵌入 Envoy 被 CGO 的 Filter 调用。

b4f5cf1441cd62a031d8ec44226081dd.png

SOFAGW 在 MOSN 2.0 之上构建了自己的网关代理模型,通过 SOFA 的 Golang 客户端和控制面交互获取配置信息、服务发现信息等,然后重组成 Envoy 的 Cluster 模型通过 Admin API 插入 Envoy 实例中。通过 Golang 的 Filter 扩展机制,SOFAGW 实现了蚂蚁集团内部的 LDC 服务路由、压测流量识别、限流、身份认证、流量复制、调用审计等能力。

由于 Envoy 的 Http2 协议处理性能相比纯 Golang GRPC 实现高出 2~4倍,SOFAGW 选择将 Triple (Http2 on GRPC)协议处理交给 Envoy 来处理,将 Bolt (SOFA RPC 私有协议)协议的处理依然交给 MOSN 来处理。

通过上述架构,SOFAGW 实现了蚂蚁集团内部的全主体可信互通,在高性能和快速迭代开发间也取得了不错的平衡。

PART. 5

应用运行时探索

随着 Service Mesh 化的探索进入深水区,我们把很多能力沉淀到 Mesh 的数据面之后,也感受到每种协议直接下沉的便利性与局限性。便利在于应用完全不用改造就可以平滑接入,局限性是每种私有协议均需要独立对接,且使用了 A 协议的应用,并不能直接在 B 协议上运行。

在多云的环境下,我们希望可以做到让应用 Write Once,Run on any Cloud!想要实现这一愿景,我们需要将应用与基础设施间进一步解耦,让应用不直接感知底层的具体实现,而是使用分布式语义 API 来编写程序。

这种思想在社区已经有 Dapr 作为先行者在探索:

5813384f0074db150383786a3427f95e.png

(上图来自 Dapr 官方文档)

Dapr 提供了分布式架构下的各种原子 API,如服务调用、状态管理、发布订阅、可观测、安全等,并且实现了不同分布式原语在不同云上的对接实现组件。

0bda02eaf8361a3d1690cc7faa765a8b.png

(上图来自 Dapr 官方文档)

Dapr 相当于是在 Service Mesh 之上提供给应用更加无侵入的分布式原语。2021 年中,我们基于 MOSN 开源了应用运行时 Layotto,Layotto 相当于是 Application Runtime 和 Service Mesh 的合集:

b041d675e92dae5d6079fef05c2a7761.png

我们通过 Layotto 抽象出应用运行时 API ,将内部的 Service Mesh 演进至如下架构:

5118b3b96da12285aa4025fe5c57b77b.png

当然应用运行时是一个新的概念,如果这一层 API 抽象做不到足够中立,那么依然需要面临使用方需要 N 选 1 的局面。所以我们也在和 Dapr 社区一起制定 Application Runtime API 的标准,组织 Dapr Sig API Group 用于推进 API 的标准化,也期望能有更多感兴趣的同学一同加入。

90972cc02b2e428d12b87c128bb187d0.png

期待未来大家的应用都可以 Write once, Run on any Cloud!

PART. 6

Mesh 2.0 探索

2022 年我们继续向前探索,基于 MOSN 2.0 我们有了高性能的网络底座、易于扩展的 Mesh 数据面,基于 Layotto 我们有了无厂商绑定的应用运行时。

55e9352eea9c01bb514abb2d5a67f753.png

下一步我们期望基于 eBPF 实现 Mesh 数据面的进一步下沉,从 Pod 粒度下沉到 Node 粒度,同时服务于更多场景。如 Function、Serverless,另外基于 MOSN 2.0 的良好扩展能力,我们希望能进一步尝试将业务应用相对通用的能力也可以沉淀下来,作为 Mesh 数据面的自定义插件来为更多应用提供服务,帮助业务实现相对通用的业务能力也可以快速迭代升级。

2f6f7757cf18c0ba7ff51630bc643a29.png

相信在不远的未来,Mesh 2.0 可以在蚂蚁集团内部服务众多通用场景,也能给社区带来一些新的可能。

以上是本次分享的所有内容,希望大家能从对蚂蚁集团 Service Mesh 的发展过程的交流中有所收获。

   本周推荐阅读  

621827fed8de3e87627ff37592790254.png

蚂蚁金服 Service Mesh 落地实践与挑战 | GIAC 实录

64236ccdef2acaeebbb5142b8b88ed4b.png

【2022 开源之夏】欢迎报名SOFAStack 社区项目!

83d6f42a4a9c0f69108992fff68e019f.png

【2022 开源之夏】欢迎报名 MOSN 社区项目!

316981ce845870bdb1ef5d8a9f802cdb.png

MOSN Contributor 采访|开源可以是做力所能及的事

6965e8d8fdc5cf4733c70f2b18dd442c.png

PDF与OFD电子发票解析技术实战:从格式转换到精准识别 本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。 阅读详情

相关推荐

安卓app逆向破解脱壳教程

From:Hook 神器家族的 Frida 工具使用详解:https://blog.youkuaiyun.com/FlyPigYe/article/details/90258758 详解 Hook 框架 frida (信抢红包):https://www.freebuf.com/company-information/180480.html APP逆向神器之Frida【Android初级篇】:https://www.jianshu.com/p/2d755beb1c54 frida 官网文档:https://fr..

sinat_28371057的博客 2万+

蚂蚁金服 Service Mesh 大规模落地系列 – 运维篇

本文为《蚂蚁金服 Service Mesh 大规模落地系列》第三篇 – 运维篇,该系列将会从核心、RPC、消息、无线网关、控制面、安全、运维、测试等模块对 Service Mesh 双十一大规模落地实践进行详细解析。文末包含往期系列文章。 引言 Service Mesh 是蚂蚁金服下一代架构的核心,也是蚂蚁金服内部向云原生演进的重要一环。本文为 Service Mesh 系列文章的运维...

weixin_40253011的博客 1131

实战!在 AMD RX 9070 XT (16G) 上使用原生 Windows ROCm 7.1 部署 ComfyUI + Z-Image-Turbo

本文详细介绍了如何在Windows系统下为AMD Radeon RX 9070 XT显卡配置Z-Image-Turbo AI绘图环境。主要内容包括:安装VS Build Tools和最新显卡驱动,配置Conda Python 3.12环境,安装ROCm 7.1.1 SDK及PyTorch适配版本,部署ComfyUI可视化界面。重点解决了AMD显卡在AI绘图中的适配问题,通过--use-split-cross-attention参数优化显存使用,最终成功搭建了可在消费级16G显存设备上运行的AI绘图环境

qq_33614778的博客 4692

从蚂蚁金服实践入手,带你深入了解 Service Mesh

本文整理自蚂蚁金服高级技术专家敖小剑在 QCon 上海 2018 上的演讲。我是来自蚂蚁金服中间件团队的敖小剑,目前是蚂蚁金服 Service Mesh 项目的 PD。我同时也是 Servicemesher 中国技术社区的创始人,是 Service Mesh 技术在国内最早的布道师。我今天给大家带来的主题是\u0026quot;长路漫漫踏歌而行:蚂蚁金服 Service Mesh 实践探索\u00...

cpongo011702 2986

J-SCOPE实战:除了看波形,如何用它和JLink-RTT模式高效调试你的STM32变量?

本文详细介绍了如何利用J-SCOPE和JLink-RTT模式高效调试STM32变量,实现实时数据可视化。通过对比HSS和RTT模式的优劣,提供固件端配置、J-SCOPE设置及实战应用案例,帮助开发者快速掌握这一高效调试技术,特别适用于电机控制、传感器融合等需要实时监控的场景。

weixin_29159613的博客 446

Calibre license失效的解决方法

Calibre license失效的解决方法

qq_45354630的博客 6481

【服务网格】Service Mesh 是什么?为我们解决了什么问题?

服务网格是一个基础设施层,用于处理服务间通信。云原生应用有着复杂的服务拓扑,服务网格保证请求在这些拓扑中可靠地穿梭。在实际应用当中,服务网格通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但对应用程序透明。Istio 负载测试网格包含了 1000 个服务和 2000 个 sidecar,全网格范围内,QPS 为 70,000。在使用 Istio 1.5.1 运行测试后,我们得到了如下结果:通过代理的 QPS 有 1000 时,Envoy 使用了 0.5 vCPU 和 50 MB 内存。

DreamSun的博客 6602

Abaqus 单元与全局刚度矩阵导出实战指南:从INP修改到结果解析

本文提供了Abaqus中导出单元刚度矩阵和全局刚度矩阵的完整实战指南。通过详细步骤讲解INP文件修改、关键指令插入及结果文件解析,帮助工程师、研究人员和二次开发者深入理解有限元软件内核,实现理论验证、二次开发与深度问题调试。

k8s6orchestrator的博客 898

Service Mesh 发展趋势:云原生中流砥柱

| 前言本文内容整理自 5月25日 在 Kubernetes & Cloud Native Meetup 上海站发表的主题演讲,主要介绍了 Service Mes...

金融级分布式架构 762

华为OD机试 - 第k个排列 - 全排列递归(Python/JS/C/C++ 2025 C卷 100分)

给定参数n,从1到n会有n个整数:1,2,3,…,n,这n个数字共有n!按大小顺序升序列出所有排列的情况,并一一标记当n=3时,所有排列如下“123”,“132,“213”,“231”,“312”,“321”输入两行,第一行为n,第二行为k,给定n的范围是[1,9],给定k的范围是[1,n!排列为“12”和“21”,第2个是“21”。给定n和k,返回第k个排列。输出排在第k位置的数字。只有一个排列,直接返回。

学Java,找哪吒 984

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

funfan的博客 2535

蚂蚁金服 Service Mesh 深度实践

作者丨敖小剑2019 年,蚂蚁金服在 Service Mesh 领域继续高歌猛进,进入大规模落地的深水区。本文整理自蚂蚁金服高级技术专家敖小剑在 QCon 全球软件开发大...

weixin_45727359的博客 864

【Bug已解决】Claude Code WebFetch 报错 Unable to verify if domain is safe to fetch 解决方案

方案适用场景推荐指数放行域名校验接口根本解决方式,需要网络管理员配合⭐⭐⭐⭐⭐curl 手动验证具体拦截环节精确定位问题,避免排查方向跑偏⭐⭐⭐⭐⭐排查企业 SSL 中间人代理证书企业统一代理策略较严格的环境⭐⭐⭐⭐检查系统时间准确性排除证书有效期误判的可能性⭐⭐⭐手动复制内容作为过渡方案网络策略调整周期较长的场景⭐⭐⭐报错的本质是**WebFetch。

一键难忘的博客 4503

Service Mesh的发展历程

Service Mesh 服务网格

wang_luwei的博客 529

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蚂蚁金服 API Gateway Mesh 思考与实践

本文整理自蚂蚁金服高级技术专家贾岛在12月28日Service Mesh Meetup杭州站现场分享。 MOSN 完成孵化, 启用独立 Group 2020.2019.12.18,MOSN 项目负责人、蚂蚁金服应用网络组负责人涵畅宣布 MOSN 完成从 SOFAStack 的孵化,将启用独立 Group 进行后续运作,欢迎大家共同建设社区。 MOSN 是一款使用 Go 语言...

weixin_42121754的博客 1338

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Service Mesh发展历程

一、什么是 Service Mesh? Service Mesh 是微服务时代的 TCP/IP 协议。 根据维基百科的定义: 微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与*语言无关* (Language-Independent/Language agnostic) 的 API 集相互通信。 二、微服务和Servic..

totramp的专栏 496

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蚂蚁金服 Service Mesh 大规模落地系列 - 核心篇

揭秘 2019Service Mesh 双十一大考蚂蚁金服很早开始关注 Service Mesh,并在 2018 年发起 ServiceMesher 社区,目前已有 4...

金融级分布式架构 955

蚂蚁金服在 Service Mesh 监控落地经验分享

1引言Service Mesh 是目前社区最为炙手可热的技术方向,去年双11在蚂蚁金服得到全面的应用,并平稳顺滑的支撑了大促服务。作为目前规模最大的 Service Mesh 集群,本...

金融级分布式架构 971

蚂蚁金服的Service Mesh实践和展望

蚂蚁金服是国内最早一批使用 Service Mesh 的公司,并在蚂蚁金服内部大面积铺开,应用数百个,容器数量(pod 数)远超 10 万,具备目前全球最大的 Service Mesh ...

架构文摘 567

基于 MOSN 和 Istio Service Mesh 的服务治理实践

Service Mesh Webinar 是由 ServiceMesher 社区和 CNCF 联合发起的线上直播活动,活动将不定期举行,为大家带来 Service Mesh 领域的知识和...

金融级分布式架构 773

微服务架构基础之Service Mesh

ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础。 那么到底什么是 ServiceMesh?它的诞生是为了解决什么问题?企业是否适合引入 ServiceMesh? 微服务架构的核心技术问题 在业务规模化和研发效能提升等因素的驱动下,从单块应用向微服务架构的转型 (如下图所示),已经成为很多企业 (尤其是互联网企业) 数字化转型的趋势。 在微服务模式下,企业内部服务少则几个到几十个,多

Being self-discipline leads to freedom 480

蚂蚁金服 Service Mesh 技术风险思考和实践

本文根据蚂蚁金服中间件SRE技术专家黄家琦(嘉祁)于 Service Mesh Meetup#9 杭州站上的分享整理。 背景 Service Mesh 在软件形态上,是将中间件的能力从框架中剥离成独立软件。而在具体部署上,保守的做法是以独立进程的方式与业务进程共同存在于业务容器内。蚂蚁金服的做法是从开始就选择了拥抱云原生。 大规模落地的过程中,我们在看到 Service Mesh 带来的...

蚂蚁金服技术团队 3327

云原生架构模式

服务化架构的典型模式是微服务和小服务(Mini Service)模式,其中小服务可以看做是一组关系非常密切的服务的组合,这组服务会共享数据,小服务模式通常适用于非常大型的软件系统,避免接口的颗粒度太细而导致过多的调用损耗(特别是服务间调用和数据一致性处理)和治理复杂度。)都由 Mesh进程完成,即使在业务代码的制品中并没有使用这些三方软件包;·构建开放式接口:在 EDA 下,事件的提供者并不用关心有哪些订阅者,不像服务调用的场景 – 数据的产生者需要知道数据的消费者在哪里并调用它,因此保持了接口的开放性;

weixin_46155048的博客 2387

云原生网络代理 MOSN 的进化之路

导读:本文是 8 月 15 号在深圳 GIAC 全球互联网架构大会,云原生专场的现场分享实录。王发康(毅松)蚂蚁集团可信原生技术部 技术专家,专注于高性能网络服务器研发,是 MOSN、T...

weixin_45583158的博客 820
上一篇: MOSN Contributor 采访|开源可以是做力所能及的事
下一篇: 深入 HTTP/3(2)|不那么 Boring 的 SSL
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值