Service Mesh 在『路口』的产品思考与实践:务实是根本

ZigBee与蓝牙低功耗技术对比:物联网无线协议选型指南 在物联网和嵌入式系统开发中,无线通信协议的选择是决定设备性能与用户体验的关键。从技术原理上看,低功耗设计是无线传感器网络的核心诉求,它直接关系到设备的续航能力和部署成本。ZigBee和蓝牙低功耗(BLE)作为主流低功耗无线技术,通过不同的机制实现节能目标:ZigBee采用深度睡眠与轮询机制,而BLE则利用可调节的连接间隔。这些技术原理决定了它们各自的应用场景——ZigBee凭借其网状网络拓扑,在需要大规模、高可靠性组网的智能家居和工业监控系统中表现出色;而BLE凭借与智能手机生态的无缝集成,在可穿戴设备、健 阅读详情

Kubernetes & Cloud Native X Service Mesh Meetup 活动现场分享

一、引言

Service Mesh 是蚂蚁金服下一代架构的核心,经过了2年的沉淀,我们探索出了一套切实可行的方案并最终通过了双十一的考验。本文主要分享在当下『路口』,我们在产品设计上的思考和实践,希望能给大家带来一些启发。

二、为什么需要 Service Mesh?

2.1 微服务治理与业务逻辑解耦

在 Service Mesh 之前,微服务体系的玩法都是由中间件团队提供一个 SDK 给业务应用使用,在 SDK 中会集成各种服务治理的能力,如:服务发现、负载均衡、熔断限流、服务路由等。

在运行时,SDK 和业务应用的代码其实是混合在一个进程中运行的,耦合度非常高,这就带来了一系列的问题:

  • 升级成本高;

    • 每次升级都需要业务应用修改 SDK 版本号,重新发布;

    • 在业务飞速往前跑的时候,是不太愿意停下来做这些和自身业务目标不太相关的事情的;

  • 版本碎片化严重;

    • 由于升级成本高,但中间件还是会向前发展,久而久之,就会导致线上 SDK 版本各不统一、能力参差不齐,造成很难统一治理;

  • 中间件演进困难;

    • 由于版本碎片化严重,导致中间件向前演进过程中就需要在代码中兼容各种各样的老版本逻辑,戴着『枷锁』前行,无法实现快速迭代;

有了 Service Mesh 之后,我们就可以把 SDK 中的大部分能力从应用中剥离出来,拆解为独立进程,以 Sidecar 的模式部署。通过将服务治理能力下沉到基础设施,可以让业务更加专注于业务逻辑,中间件团队则更加专注于各种通用能力,真正实现独立演进,透明升级,提升整体效率。

2.2 异构系统统一治理

随着新技术的发展和人员更替,在同一家公司中往往会出现使用各种不同语言、不同框架的应用和服务,为了能够统一管控这些服务,以往的做法是为每种语言、每种框架都重新开发一套完整的 SDK,维护成本非常高,而且对中间件团队的人员结构也带来了很大的挑战。

有了 Service Mesh 之后,通过将主体的服务治理能力下沉到基础设施,多语言的支持就轻松很多了,只需要提供一个非常轻量的 SDK、甚至很多情况都不需要一个单独的 SDK,就可以方便地实现多语言、多协议的统一流量管控、监控等治理需求。

图片来源:https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh

2.3 金融级网络安全

当前很多公司的微服务体系建设都建立在『内网可信』的假设之上,然而这个原则在当前大规模上云的背景下可能显得有点不合时宜,尤其是涉及到一些金融场景的时候。

通过 Service Mesh,我们可以更方便地实现应用的身份标识和访问控制,辅之以数据加密,就能实现全链路可信,从而使得服务可以运行于零信任网络中,提升整体安全水位。

三、在当下『路口』的思考

3.1 云原生方案?

正因为 Service Mesh 带来了上述种种的好处,所以这两年社区中对 Service Mesh 的关注度越来越高,也涌现出了很多优秀的 Service Mesh 产品,Istio 就是其中一款非常典型的标杆产品。

Istio 以其前瞻的设计结合云原生的概念,一出现就让人眼前一亮,心之向往。不过深入进去看了之后发现,在目前阶段要落地的话,还是存在一些 gap 的。

图片来源:https://istio.io/docs/concepts/what-is-istio/

3.2 Greenfield vs Brownfield

在正式展开讨论之前,我们先来看一副漫画。

图片来源:https://faasandfurious.com/90

上面这幅漫画描绘了这样一个场景:

  • 有两个工人在工作,其中一个在绿色的草地(Greenfield)上,另一个在棕色的土地(Brownfield)上;

  • 在绿色草地上的工人对在棕色土地上的工人说:“如果你没有给自己挖这么深的坑,那么你也可以像我一样做一些很棒的新东西”;

  • 然后在棕色土地上的工人回答道:“你倒是下来试试!”;

这是一幅很有意思的漫画,从表面上看我们可以认为在绿色草地上的工人是站着说话不腰疼,不过其实本质的原因还是两者所处的环境不同。

在一片未开发过的土地上施工确实是很舒服的,因为空间很大,也没有周遭各种限制,可以使用各种新技术、新理念,我们国家近几十年来的一些新区新城的建设就属于这类。而在一片已经开发过的土地上施工就大不一样了,周围环境会有各种限制,比如地下可能有各种管线,一不小心就挖断了,附近还有各种大楼,稍有不慎就可能把楼给挖塌了,所以做起事来就要非常小心,设计方案时也会受到各种约束,无法自由发挥。

对于软件工程,其实也是一样的,Greenfield 对应着全新的项目或新的系统,Brownfield 对应着成熟的项目或遗留系统。

我相信大部分程序员都是喜欢做全新的项目的,包括我自己也是一样。因为可以使用新的技术、新的框架,可以按照事物本来的样子去做系统设计,自由度很高。而在开发/维护一个成熟的项目时就不太一样了,一方面项目已经稳定运行,逻辑也非常复杂,所以无法很方便地换成新的技术、新的框架,在设计新功能时也会碍于已有的架构和代码实现做很多妥协,另一方面前人可能不知不觉挖了很多坑,稍有不慎就会掉进坑里,所以行事必须要非常小心,尤其是在做大的架构改变的时候。

3.3 现实场景

3.3.1 Brownfield 应用当道

在现实中,我们发现目前大部分的公司还没有走向云原生,或者还刚刚在开始探索,所以大量的应用其实还跑在非 K8s 的体系中,比如跑在虚拟机上或者是基于独立的服务注册中心构建微服务体系。

虽然确实有少量 Greenfield 应用已经在基于云原生来构建了,但现实是那些大量的 Brownfield 应用是公司业务的顶梁柱,承载着更大的业务价值,所以如何把它们纳入 Service Mesh 统一管控,从而带来更大的价值,也就成了更需要优先考虑的话题。

图片来源:https://medium.com/next-level-german-engineering/comparison-of-two-different-approaches-towards-container-management-4e5298736d42

独立的服务注册中心

3.3.2 云原生方案离生产级尚有一定距离

另一方面,目前 Istio 在整体性能上还存在一些有待解决的点(引述小剑老师在蚂蚁金服 Service Mesh 深度实践中的观点):

  • Mixer:

    • Mixer 的性能问题,一直都是 Istio 中最被人诟病的地方;

    • 尤其在 Istio 1.1/1.2 版本之后引入了 Out-Of-Process Adapter,更是雪上加霜;

    • 从落地的角度看,Mixer V1 糟糕至极的性能,已经是“生命无法承受之重”。对于一般规模的生产级落地而言,Mixer 性能已经是难于接受,更不要提大规模落地……

    • Mixer V2 方案则给了社区希望:将 Mixer 合并进 Sidecar,引入 web assembly 进行 Adapter 扩展,这是我们期待的 Mixer 落地的正确姿势,是 Mixer 的未来,是 Mixer 的『诗和远方』。然而社区望穿秋水,但Mixer V2 迟迟未能启动,长期处于 In Review 状态,远水解不了近渴;

    • Pilot:

      • Pilot 是一个被 Mixer 掩盖的重灾区:长期以来大家的性能关注点都在 Mixer,表现糟糕而且问题明显的Mixer 一直在吸引火力。但是当选择放弃 Mixer(典型如官方在 Istio 新版本中提供的关闭 Mixer 的配置开关)之后,Pilot 的性能问题也就很快浮出水面;

      • 我们实践下来发现 Pilot 目前主要有两大问题:1)无法支撑海量数据 2)每次变化都会触发全量推送,性能较差;

      图片来源:https://istio.io/docs/reference/config/policy-and-telemetry/mixer-overview/

      3.4 当下『路口』我们该怎么走?

      我们都非常笃信云原生就是未来,是我们的『诗和远方』,但是眼下的现实情况是一方面 Brownfield 应用当道,另一方面云原生的 Service Mesh 方案自身离生产级还有一定的距离,所以在当下这个『路口』我们该怎么走?

      图片来源:https://www.inc.com/joel-trammell/people-vs-results-you-dont-have-to-choose.html

      我们给出的答案是:

      其实如前面所述,我们采用 Service Mesh 方案的初心是因为它的架构改变可以带来很多好处,如:服务治理与业务逻辑解耦、异构语言统一治理、金融级网络安全等,而且我们相信这些好处不管对 Greenfield 应用还是 Brownfield 应用都是非常需要的,甚至在现阶段对 Brownfield 应用产生的业务价值会远远大于 Greenfield 应用。

      所以从『务实』的角度来看,我们首先还是要探索出一套现阶段切实可行的方案,不仅要支持 Greenfield 应用,更要能支持 Brownfield 应用,从而可以真正把 Service Mesh 落到实处,产生业务价值。

      四、蚂蚁金服的产品实际

      4.1 发展历程和落地规模

      Service Mesh 在蚂蚁金服的发展历程,先后经历过如下几个阶段:

      • 技术预研 阶段:2017年底开始调研并探索 Service Mesh 技术,并确定为未来发展方向;

      • 技术探索 阶段:2018年初开始用 Golang 开发 Sidecar MOSN ,年中开源基于 Istio 的 SOFAMesh;

      • 小规模落地 阶段:2018年开始内部落地,第一批场景是替代 Java 语言之外的其他语言的客户端 SDK,之后开始内部小范围试点;

      • 规模落地 阶段:2019年上半年,作为蚂蚁金服金融级云原生架构升级的主要内容之一,逐渐铺开到蚂蚁金服内部的业务应用,并平稳支撑了618大促;

      • 对外输出 阶段:2019年9月,SOFAStack 双模微服务平台入驻阿里云开始公测,支持 SOFA, Dubbo 和 Spring Cloud 应用;

      • 全面大规模落地 阶段:2019年下半年,在蚂蚁金服内部的大促核心应用中全面铺开,落地规模非常庞大,而且最终如『丝般顺滑』地支撑了双十一大促;

      在今年双十一,Service Mesh 覆盖了数百个交易核心链路应用,MOSN 注入的容器数量达到了数十万,双十一当天处理的 QPS 达到了几千万,平均处理响应时间<0.2 ms,MOSN 本身在大促中间完成了数十次的业务无感升级,达到了我们的预期,初步完成了基础设施和业务的第一步的分离,见证了 Mesh 化之后基础设施的迭代速度。

      MOSN:

      https://github.com/sofastack/sofa-mosn

      4.2 SOFAStack 双模微服务平台

      我们的服务网格产品名是 SOFAStack 双模微服务平台,这里的『双模微服务』是指传统微服务和 Service Mesh 双剑合璧,即『基于 SDK 的传统微服务』可以和『基于 Sidecar 的 Service Mesh 微服务』实现下列目标:

      • 互联互通:两个体系中的应用可以相互访问;

      • 平滑迁移:应用可以在两个体系中迁移,对于调用该应用的其他应用,做到透明无感知;

      • 异构演进:在互联互通和平滑迁移实现之后,我们就可以根据实际情况进行灵活的应用改造和架构演进;

      在控制面上,我们引入了 Pilot 实现配置的下发(如服务路由规则),在服务发现上保留了独立的 SOFA 服务注册中心。

      在数据面上,我们使用了自研的 MOSN,不仅支持 SOFA 应用,同时也支持 Dubbo 和 Spring Cloud 应用。在部署模式上,我们不仅支持容器/K8s,同时也支持虚拟机场景。

      4.3 大规模场景下的服务发现

      要在蚂蚁金服落地,首先一个需要考虑的就是如何支撑双十一这样的大规模场景。前面已经提到,目前 Pilot 本身在集群容量上比较有限,无法支撑海量数据,同时每次变化都会触发全量推送,无法应对大规模场景下的服务发现。

      所以,我们的方案是保留独立的 SOFA 服务注册中心来支持千万级的服务实例信息和秒级推送,业务应用通过直连 Sidecar 来实现服务注册和发现。

      4.4 流量劫持

      Service Mesh 中另一个重要的话题就是如何实现流量劫持:使得业务应用的 Inbound 和 Outbound 服务请求都能够经过 Sidecar 处理。

      区别于社区的 iptables 等流量劫持方案,我们的方案就显得比较简单直白了,以下图为例:

      • 假设服务端运行在1.2.3.4这台机器上,监听20880端口,首先服务端会向自己的 Sidecar 发起服务注册请求,告知 Sidecar 需要注册的服务以及 IP + 端口(1.2.3.4:20880);

      • 服务端的 Sidecar 会向 SOFA 服务注册中心发起服务注册请求,告知需要注册的服务以及 IP + 端口,不过这里需要注意的是注册上去的并不是业务应用的端口(20880),而是Sidecar自己监听的一个端口(例如:20881);

      • 调用端向自己的 Sidecar 发起服务订阅请求,告知需要订阅的服务信息;

      • 调用端的 Sidecar 向调用端推送服务地址,这里需要注意的是推送的IP是本机,端口是调用端的 Sidecar 监听的端口(例如:20882);

      • 调用端的 Sidecar 会向 SOFA 服务注册中心发起服务订阅请求,告知需要订阅的服务信息;

      • SOFA 服务注册中心向调用端的 Sidecar 推送服务地址(1.2.3.4:20881);

      经过上述的服务发现过程,流量劫持就显得非常自然了:

      • 调用端拿到的『服务端』地址是127.0.0.1:20882,所以就会向这个地址发起服务调用;

      • 调用端的 Sidecar 接收到请求后,通过解析请求头,可以得知具体要调用的服务信息,然后获取之前从服务注册中心返回的地址后就可以发起真实的调用(1.2.3.4:20881);

      • 服务端的 Sidecar 接收到请求后,经过一系列处理,最终会把请求发送给服务端(127.0.0.1:20880);

      可能会有人问,为啥不采用 iptables 的方案呢?主要的原因是一方面 iptables 在规则配置较多时,性能下滑严重,另一个更为重要的方面是它的管控性和可观测性不好,出了问题比较难排查。

      4.5 平滑迁移

      平滑迁移可能是整个方案中最为重要的一个环节了,前面也提到,在目前任何一家公司都存在着大量的 Brownfield 应用,它们有些可能承载着公司最有价值的业务,稍有闪失就会给公司带来损失,有些可能是非常核心的应用,稍有抖动就会造成故障,所以对于 Service Mesh 这样一个大的架构改造,平滑迁移是一个必选项,同时还需要支持可灰度和可回滚。

      得益于独立的服务注册中心,我们的平滑迁移方案也非常简单直白:

      1.初始状态

      以一个服务为例,初始有一个服务提供者,有一个服务调用者。

      2.透明迁移调用方

      在我们的方案中,对于先迁移调用方还是先迁移服务方没有任何要求,这里假设调用方希望先迁移到 Service Mesh 上,那么只要在调用方开启 Sidecar 的注入即可,服务方完全不感知调用方是否迁移了。所以调用方可以采用灰度的方式一台一台开启 Sidecar,如果有问题直接回滚即可。

      3.透明迁移服务方

      假设服务方希望先迁移到 Service Mesh 上,那么只要在服务方开启 Sidecar 的注入即可,调用方完全不感知服务方是否迁移了。所以服务方可以采用灰度的方式一台一台开启 Sidecar,如果有问题直接回滚即可。

      4.终态

      4.6 多协议支持

      考虑到目前大部分用户的使用场景,除了 SOFA 应用,我们同时也支持 Dubbo 和 Spring Cloud 应用接入SOFAStack 双模微服务平台,提供统一的服务治理。多协议支持采用通用的 x-protocol,未来也可以方便地支持更多协议。

      4.7 虚拟机支持

      在云原生架构下,Sidecar 借助于 K8s 的 webhook/operator 机制可以方便地实现注入、升级等运维操作。然而大量系统还没有跑在 K8s 上,所以我们通过 agent 的模式来管理 Sidecar 进程,从而可以使 Service Mesh 能够帮助老架构下的应用完成服务化改造,并支持新架构和老架构下服务的统一管理。

      4.8 产品易用性

      在产品易用性上我们也做了不少工作,比如可以直接在界面上方便地设置服务路由规则、服务限流等,再也不用手工写 yaml 了:

      也可以在界面上方便地查看服务拓扑和实时监控:

      4.9 阿里云公测中

      最后打一个小小的广告,SOFAStack 双模微服务平台现在在阿里云公测中,欢迎感兴趣的企业前来体验:

      https://www.aliyun.com/product/sofa

      五、展望未来

      5.1 拥抱云原生

      目前已经能非常清楚地看到整个行业在经历从云托管(Cloud Hosted)到云就绪(Cloud Ready)直至云原生(Cloud Native)的过程,所以前面也提到我们都非常笃信云原生就是未来,是我们的『诗和远方』,虽然眼下在落地过程中还存在一定的 gap,不过相信随着我们的持续投入,gap 会越来越小。

      另外值得一提的是我们拥抱云原生其根本还在于降低资源成本,提升开发效率,享受生态红利,所以云原生本身不是目的,而是手段,切不可本末倒置了。

      5.2 持续加强 Pilot 的能力

      为了更好地拥抱云原生,后续我们也会和 Istio 社区共建,持续加强 Pilot 的能力。

      而就在最近,在综合了过去一年多的思考和探索之后,蚂蚁金服和阿里集团的同事们共同提出了一套完整的解决方案,来融合控制平面和传统注册中心/配置中心,从而可以在保持协议标准化的同时,加强 Pilot 的能力,使其逐步向生产级靠拢。

      (更多细节可以参考小剑老师的蚂蚁金服 Service Mesh 深度实践一文,在此就不再赘述了)

      5.3 支持透明劫持

      前面提到在蚂蚁金服的实践中是基于服务注册中心来实现流量劫持的,该方案不管是在性能、管控能力还是可观测性方面都是不错的选择,不过对应用存在一定的侵入性(需要引入一个轻量的注册中心 SDK)。

      考虑到很多用户对性能要求没那么敏感,同时有大量遗留系统希望通过 Service Mesh 实现统一管控,所以后续我们也会支持透明劫持,同时在管控性和可观测性方面会做增强。

      六、结语

      基于『务实』的理念,Service Mesh 在蚂蚁金服经过了2年的沉淀,我们探索出了一套现阶段切实可行的方案并最终通过了双十一的考验。在这个过程中,我们也愈发体验到了 Service Mesh 带来的好处,例如 MOSN 在大促中间完成了数十次的业务无感升级,见证了 Mesh 化之后基础设施的迭代速度。

      我们判断,未来 Service Mesh 会成为云原生下微服务的标准解决方案,所以我们也会持续加大对 Service Mesh 的投入,包括接下来蚂蚁金服将和阿里集团一起深度参与到 Istio 社区中去,和社区一起把 Istio 打造成 Service Mesh 的事实标准。

      最后,也欢迎志同道合的伙伴加入我们,一起参与建设激动人心的下一代云原生架构!

      作者介绍:

      宋顺(花名:齐天),蚂蚁金服高级技术专家,开源配置中心 Apollo 作者。2019年初加入蚂蚁金服,主要负责微服务相关产品的研发工作。 毕业于复旦大学软件工程系,曾就职于大众点评、携程,负责后台系统、中间件等研发工作。

      本次分享 PPT 以及回顾视频查看:

      https://tech.antfin.com/community/activities/985/review/950

      本文归档在 sofastack.tech。

      Java程序员职业发展路径与核心技术栈解析 Java作为企业级开发的主流语言,其技术生态和职业发展路径始终是开发者关注的焦点。从JVM原理到Spring框架,Java技术栈的深度理解是构建稳定系统的基石。随着云原生和分布式架构的普及,Java开发者需要掌握服务治理、性能优化等进阶技能,这些能力直接影响系统的扩展性和可靠性。在实际工程实践中,合理运用Redis缓存、Kafka消息队列等中间件,能够有效提升系统吞吐量。本文基于一线大厂实战经验,详细剖析Java程序员从初级到架构师各阶段的核心技术栈演进路线,并给出分布式锁优化、Saga事务等典型场景的解决 阅读详情

      相关推荐

      ZigBee与蓝牙BLE技术对比:从协议原理到物联网应用选型指南

      无线通信协议是物联网设备实现连接与数据传输的基础技术,其核心在于平衡功耗、距离、速率与网络拓扑等关键参数。ZigBee基于IEEE 802.15.4标准,采用网状网络架构,专为大规模、低功耗的传感网络设计,具备自组织与多跳路由能力,适用于智能家居、工业监控等固定节点场景。蓝牙低功耗(BLE)则优化了星型拓扑与快速连接,凭借极简的协议栈和与移动设备的原生集成,成为可穿戴设备与近场交互的首选。在物联网开发中,协议选型需综合评估网络规模、功耗预算与交互模式:ZigBee在**大规模传感网络**中通过多跳中继保障覆

      weixin_34075268的博客 408

      Service Mesh 在超大规模场景下的落地挑战

      来源 | 阿里巴巴中间件作者 | 至简,阿里云高级技术专家随着微服务软件架构在互联网企业的广泛实践,新一代微服务软件架构技术悄然兴起, Service Mesh 便是其中之一。根据 Li...

      优快云云计算 527

      宋顺-基于Spring Cloud的Apollo配置中心介绍.pdf

      宋顺-基于Spring Cloud的Apollo配置中心介绍.pdf

      采用服务网格 Servicemesh 的 6 大好处?谁从服务网格的工具整合中受益?

      服务网格可以做从服务发现到零信任安全、负载均衡、多云连接、自动化和南北流量的所有事情。即使服务网格的采用持续增长,一些组织仍在尝试全面了解服务网格可以做什么和不能做什么。他们可能没有意识到服务网格不仅是一种单一用途的工具,而且可以满足各种网络需求。服务网格实际上可能有助于整合多个现有工具,以帮助减少管理工作和成本。看看这两种多云网络架构:哪个看起来不那么复杂?如果您选择的服务网格与云无关,则可以大大简化多云架构。...

      技术宅,专注云原生、Go、Linux、Java等技术分享,原创文章、效率工具、实战解决方案!关注我,了解互联网动态,学 IT 不迷路 1014

      无刷直流电机矢量控制(四):基于滑模观测器的无传感器控制

      无刷直流电机矢量控制,采用转速、电流双环控制,电流环dq解耦,d轴采用id=0控制,q轴采用转速外环。采用滑模观测器(SMO),根据电压电流信息进行电机位置角度动态估算,模型可直接运行,转速和角度跟踪精度较高。 本文整理了该方法的基本原理,介绍了在MATLAB/Simulink中的建模和仿真过程,最后附上完整的模型文件。 一、基本原理 滑模观测器(下文简称SMO)是基于滑模变结构控制方法的一种状态观测器。其针对无刷直流电机转子位置估算的实现过程如下。 假设采用矢量控...

      Forster-C的博客 6866

      VMFS数据存储(datastore)丢失后恢复步骤

      vmfs datastore恢复步骤

      jetliu05的博客 3267

      Service Mesh原理、特性、优缺点及应用场景

      Service Mesh是一种用于处理微服务之间通信的基础设施层,它通过在微服务之间插入代理来提供服务发现、负载均衡、故障恢复、安全性等功能。

      大道至简 2325

      VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存

      本文详细解析了在VS2015+C++环境下,利用海康威视MVS工业相机SDK实现多相机同步采图与保存的全流程。从环境准备、SDK选择到多相机初始化、同步采图方案,再到异常处理与性能优化,提供了实战技巧和代码示例,帮助开发者快速掌握工业相机二次开发的核心技术。

      weixin_29170327的博客 281

      Gopher China 2021 专访之宋顺:Go 在蚂蚁集团的应用、实践

      GoCN专访人物宋顺蚂蚁集团高级技术专家,Apollo Config PMC。在微服务架构、分布式计算等领域有着丰富的经验,2019 年加入蚂蚁集团,目前专注于云原生和微服务方向,如 Se...

      金融级分布式架构 879

      微信小程序数据采集实战:抓包+接口分析+动态数据全流程

      微信小程序爬虫虽然比普通网页爬虫复杂,但只要掌握了正确的方法,其实并没有想象中那么难。核心思路就是:先绕过证书校验抓包,然后反编译小程序找到加密逻辑,最后用Python模拟相同的加密和解密过程。需要特别提醒的是,本文仅供技术研究使用。请遵守《网络安全法》和相关法律法规,不要爬取他人的敏感数据,不要将爬虫技术用于非法用途。尊重他人的知识产权和数据安全,才能让技术发挥真正的价值。

      专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1093

      MFC属性网格控件(CMFCPropertyGridCtrl)完全指南:构建专业属性编辑界面

      本文详细介绍了MFC中的CMFCPropertyGridCtrl控件的使用方法。主要内容包括:控件基础用法(初始化、添加属性、事件处理)、高级设置(自定义外观、创建属性类型、动态更新)、派生类实现(自定义绘制、搜索过滤功能)、界面集成技巧(对话框布局、属性编辑器)以及实际应用示例。文章重点讲解了如何通过继承和自定义实现复杂功能,并提供了性能优化、多语言支持等最佳实践方案。该控件适用于需要大量参数配置的应用程序,能够创建类似Visual Studio属性窗口的专业界面。

      专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 155

      复习资料整合

      1、设计模式 代理模式--Spring中的AOP 工厂模式--BeanFactory所有的对象都是通过Factory 模板方法设计模式--RestTemplate -- 策略设计模式---算法--策略--轮询等--LoadBalancerClient--还有Ribbon 单例设计模式--Singleton--饿汉式:小对象,频繁加载 懒汉式:用的时候加载对象,加锁 门面设计模式--Slf4j 日志的查看 适配器模式--XxxAdapter 适配器接口继承某个适配器,就不用实现全部的方法了,用

      hangxiaoyang的博客 1432

      使用everything出现mem_virtual_alloc(): Fatal Error: out of memory解决方案

      本文主要介绍了使用everything出现mem_virtual_alloc(): Fatal Error: out of memory解决方案,希望能对使用everything的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

      weixin_43178406的博客 1万+

      开源配置中心 Apollo 作者宋顺:Service Mesh 在『路口』的产品思考与实践

      Kubernetes & Cloud Native X Service Mesh Meetup 活动现场分享引言Service Mesh 是蚂蚁金服下一代架构的核心。经过了2年的...

      阿里巴巴中间件 2638

      Simulink仿真模块 -Scope

      如果您将 Scope 模块放在具有锁定链接的库或者锁定的库中,当尝试打开示波器窗口时,Simulink 会显示错误。要显示某个库模块中的内部数据,请为库模块添加一个输出端口,然后将此端口连接到您模型中的 Scope 模块。当您在示波器内可视化多个基于帧的信号时,部分帧大小为 1 的信号采样可能不会显示。当在示波器内可视化多个基于帧的信号时,部分帧大小为 1 的信号采样可能不会显示。如果在仿真开始时波形视图关闭,则当在仿真后打开波形视图时,波形视图将显示附加的输入信号的仿真结果。

      jk_101的博客 3791

      利用 SAP Joule 提升 ABAP 开发效率的前提条件与限制全解析

      综上,想要在 ABAP Development Tools 中顺利使用 SAP Joule,既要准备好 BTP、IAS、ABAP 系统与 ADT 的版本与信任链,也要理解许可证、配额、语法范围等限制。只有在这些前提全部满足后,Joule 才能真正发挥生成式 AI 的价值,帮助 ABAP 开发者从繁琐模板中解放出来,把注意力投入在业务创新与 Clean Core 改造之上。未来 SAP 还将扩展中文语境、自动修复建议以及跨系统智能代理等功能,值得持续关注。

      2007 年 ~ 2025 年,深耕 SAP 技术 18 年 663

      网络工程师职业转型:六大方向与实施路径

      网络工程师作为ICT行业的核心技术岗位,其职业发展路径随着技术演进不断拓展。基于对TCP/IP协议栈和网络架构的深刻理解,网络工程师的技能具有高度可迁移性。在云计算和DevOps成为主流技术趋势的背景下,网络工程师可向云计算架构师、网络安全专家等方向转型,其中云原生网络和Infrastructure as Code是关键热词。转型过程中,掌握Terraform等IaC工具和Kubernetes网络策略成为必备技能。从工程实践角度看,网络工程师的故障排查能力和系统化思维在微服务架构和混合云环境中同样具有重要价

      weixin_34252686的博客 334

      廖雪峰Python教程[完整版]

      廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

      从宜家入局看ZigBee智能家居:协议解析与TLSR8258实战

      ZigBee是一种基于IEEE 802.15.4的短距离无线通信协议,凭借低功耗、自组网和Mesh网络能力,成为智能家居领域的主流选择。其网络由协调器、路由器和终端设备构成,设备间可自动中继,使大规模传感器部署更加稳定可靠。相比Wi-Fi和蓝牙,ZigBee在控制类场景中优势明显。与此同时,宜家正式加入ZigBee联盟,推动ZigBee 3.0标准普及,大大降低了生态碎片化问题。在硬件层面,Telink TLSR8258芯片以低功耗、低成本和高性价比受到开发者青睐,可用于门窗传感器、智能灯具等设备开发。通过

      weixin_34378969的博客 391

      最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

      Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

      Camera2Demo

      在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

      Python与Java在2020云原生时代的工程选型实战指南

      Python和Java作为两大主流编程语言,代表了两种根本不同的软件工程范式:前者以降低人类认知负荷为核心,擅长快速构建数据处理、AI模型服务与轻量API;后者以保障系统长期可维护性为设计原点,在高并发、强一致性、严苛SLA的企业级服务中具备不可替代的稳定性优势。2020年是云原生落地关键年,Kubernetes成熟、Serverless普及、实时数据爆发,使得Python在FastAPI+Pandas+PySpark技术栈中实现‘数据侧端到端贯通’,而Java依托Spring Boot 2.3、Graal

      dienangpiao2051的博客 483

      SAP B1中文培訓教材_SDK

      公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

      MuleSoft与大语言模型的企业级AI编排实践

      AI编排(AI Orchestration)是将大语言模型深度融入企业核心业务流程的技术范式,其本质是通过企业级集成平台实现模型调用、上下文注入、系统联动与全链路治理。它超越了简单API调用,强调数据主权、协议兼容、事务一致性与可审计性,解决LLM落地中输入脏、输出不可执行、链路不可控三大断点。MuleSoft凭借原生Connector生态、DataWeave数据契约能力、Policy Manager安全策略及Anypoint可观测体系,成为金融、制造、医疗等强合规场景下AI工程化的核心底座。本文聚焦AI

      weixin_30904593的博客 434

      2026程序员技能重塑:云原生、AI工程化与领域知识成关键

      在技术快速迭代的背景下,程序员的核心竞争力正从掌握特定技术栈转向解决复杂问题的能力。理解云原生架构原理,掌握容器编排、服务网格和可观测性技术,是构建弹性、可扩展系统的基石。AI工程化能力,特别是大模型应用开发与Agent编排,正成为将人工智能技术落地业务场景的关键。结合垂直领域知识,如金融风控或电商供应链,能有效提升技术方案的业务价值。本文聚焦于云原生深度实践和AI工程化两大热词,探讨如何通过可执行的行动指南,帮助开发者在2026年的就业市场中构建坚实的技能护城河。

      weixin_33841503的博客 410

      生产级机器学习系统:从模型部署到决策服务的全链路工程实践

      机器学习模型上线不是终点,而是系统性工程的起点。在真实业务场景中,模型稳定性高度依赖数据管道、特征服务、监控告警与降级策略等周边系统。本文围绕ML系统的核心挑战——低延迟、高可用、可审计与可解释,深入解析SLO驱动的服务契约、特征版本化与血缘追踪、多维在线监控(数据/特征/模型/决策/业务)、混沌工程压测及全链路决策追溯等关键技术。结合银行风控、电商推荐等强约束场景,揭示如何将算法能力转化为可持续交付的生产级决策服务,尤其聚焦特征稳定性保障与优雅降级机制设计。

      weixin_30819085的博客 321

      Unity主程成长路线:从脚本到架构的5个关键跃迁点

      在游戏开发领域,架构设计是构建可维护、高性能项目的核心能力。其原理在于通过合理的模块划分与解耦,提升代码复用性和团队协作效率。掌握面向对象、组件化、事件驱动等设计模式,能够有效解决代码耦合与重复开发问题,具有极高的技术价值。这些架构思想在Unity游戏开发中尤为重要,广泛应用于技能系统、UI框架、资源管理等模块设计。本文基于Unity开发者的成长路径,深入探讨了从脚本编写到系统架构的五个关键跃迁阶段,特别聚焦于性能优化和AssetBundle打包策略等实践难点,为开发者提供清晰的进阶路线图。

      weixin_34056162的博客 428
      上一篇: 蚂蚁金服 Service Mesh 大规模落地系列 - RPC 篇
      下一篇: 深入Kubernetes 的“无人区” — 蚂蚁金服双十一的调度系统
      SOFAStack
      博客等级 码龄7年 747粉丝 389原创
      评论
      成就一亿技术人!
      拼手气红包6.0元
      还能输入1000个字符
       
       条评论被折叠 查看
      添加红包

      请填写红包祝福语或标题

      个

      红包个数最小为10个

      元

      红包金额最低5元

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

      抵扣说明:

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

      余额充值