开源之夏经验分享|MOSN 社区韦鑫:做自己认为很酷的事

MOSN:基于延迟负载均衡算法实现更快速、更稳定的分布式网络 总结起来,MOSN作为一个基于延迟负载均衡算法的分布式网络代理,通过优化请求分发和选择最佳服务器的过程,实现了更快速、更稳定的分布式网络服务。MOSN利用延迟负载均衡算法实现了更快速的请求分发,并且通过一系列的优化措施,保证了系统的稳定性和可靠性。连接池中保存着与后端服务器的连接,当有新的请求到达时,MOSN会从连接池中选择一个可用的连接,并将请求发送到对应的服务器。通过上述的延迟负载均衡算法的实现,MOSN能够快速、准确地选择最佳的服务器,并将请求发送到该服务器,从而提高了系统的处理速度和性能。 阅读详情

6344b9a83f8bd5484b5d579a490c97b5.gif

8907048446a07ce8b36ed9eb01b3624d.png

韦鑫

计算机科学与技术学院

HTNN 社区贡献者

就读于南京航空航天大学,是计算机科学与技术学院研三的同学,研究方向是分布式系统。

本文 3756 字,预计阅读 7 分钟 

今天 SOFAStack 邀请到了开源之夏 2024 MOSN 社区的中选学生韦鑫同学!在本项目中,他负责将 Sentinel-golang 流量控制能力集成进 MoE(MOSN on Envoy)生态。希望他分享的这段经历,能让更多人了解到 MOSN 开源社区,感受开源的魅力~

项目链接:https://github.com/mosn/htnn/tree/main/plugins/plugins/sentinel

项目信息

项目名称:将 Sentinel-golang 流量控制能力集成进 MoE(MOSN on Envoy)生态 

项目导师:付建豪 

项目描述:MoE(MOSN on Envoy)融合了 MOSN 和 Envoy 生态,打造高性能、高扩展性的数据平面,MOSN 技术团队已经把 MoE 技术贡献到 Envoy 上游,可直接使用 Envoy 最新版本来开发。通过 MoE 技术可以使用全功能的 Golang 编程语言来编写 Envoy 插件,极大提高了业务插件的开发效率。

本次使用 MoE 技术把 Sentinel-golang 项目和 Envoy 相融合,把 Sentinel 生态引入到 MoE 生态中。 

项目实现思路

 概述

在完成该项目前,HTNN 社区已经提供了limit_count_redis ,limit_req ,local_ratelimit 等限流插件。通过引入 Sentinel-golang,我们可以为用户提供更多的限流选择、提升限流能力。 

 方案

当前在 Sentinel-golang 中,拥有以下流量治理能力: 

  • 流量控制(Flow):通过配置具体规则,对请求流量进行限制;

  • 热点参数流控(HotSpot):统计某些热点数据中访问频次最高的 Top K 数据,并对其访问进行限制;

  • 熔断降级(CircuitBreaker):当系统异常情况发生时,可以自动熔断系统,保证系统的可用性;

  • 并发隔离控制(Isolation):控制对资源访问的最大并发数,避免因为资源的异常导致协程耗尽;

  • 系统自适应保护(System):在系统负载高峰期间,可以限制请求流量,避免系统资源耗尽。

然而经过理论分析与实践得出,以下流控治理能力在本项目插件中并不适用:

  • Flow 中的基于内存使用水位的流控能力(Low/HighMemUsageThreshold、MemLow/HighWaterMarkBytes),因为它获取到的水位是流控插件,也就是网关的内存信息,并不是后端服务的内存使用情况,因此不符合预期;

  • Isolation,插件的 Filter 生命周期为一次请求-响应(如 DecodeHeaders、Onlog 阶段均为单一协程),不需考虑多协程(goroutine)的情况,因此不符合预期;

  • System,与 Flow 的内存水位一样,它获取到的系统负载信息是网关的,而不是后端服务的,因此也不符合预期。

因此最终项目实践裁切掉了一部分插件无需实现的 Sentinel-golang 的流控能力,分别实现了 Flow(部分)、HotSpot、CircuitBreaker 流控能力。

 插件处理流程

一次请求-响应流程

0833c7a127d6bf19039c4025cb3408bb.png

可分为以下 3 种规则分别描述该流程: 

FLow 规则

DecodeHeaders: 

1. 首先从请求头部、请求参数获取流控资源名称 res  

2. 以 res 作为入参调用 Sentinel API Entry,得到 entry 和 blockError  

3. 若 blockError 不为空则触发流控规则,根据用户配置的响应信息进行返回  

4. 若 blockError 为空则请求放行,并将 entry 记录到 Filter 上下文中

Onlog: 

5. 从 Filter 上下文中取出 entry  

6. 调用 entry.Exit() 完成本次流控记录

HotSpot 规则

DecodeHeaders:

1. 首先从请求头部、请求参数获取流控资源名称 res

2. 以 res、用户配置的 params、attachments 作为入参调用 Sentinel API Entry,得到 entry 和 blockError  

3. 若 blockError 不为空则触发流控规则,根据用户配置的响应信息进行返回  

4. 若 blockError 为空则请求放行,并将 entry 记录到 Filter 上下文中 

Onlog:

5. 从 Filter 上下文中取出 entry  

6. 调用 entry.Exit() 完成本次流控记录

CircuitBreaker 规则

DecodeHeaders: 

1. 首先从请求头部、请求参数获取流控资源名称 res

2. 以 res 作为入参调用 Sentinel API Entry,得到 entry 和 blockError

3. 若 blockError 不为空则触发流控规则,根据用户配置的响应信息进行返回  

4. 若 blockError 为空则请求放行,并将 entry 记录到 Filter 上下文中  

Onlog:

5. 从 Filter 上下文中取出 entry  

6. 获取后端返回的响应状态码,并与用户配置的失败状态码列表进行匹配 

7. 若匹配上,则以 entry 为入参调用 Sentinel API TraceError 统计错误(当达到用户配置的错误数量时会在下一次调用 Sentinel API Entry 时触发流控,即熔断) 

8. 调用 entry.Exit() 完成本次流控记录

插件开发过程

接下来阐述 Sentinel 插件的开发过程,同时可以给对 HTNN 插件感兴趣的同学提供开发参考路径。

需要添加/修改的文件及目录结构如下:

├── maintainer
  │   └── feature_maturity_level.yaml # 插件成熟等级
  ├── plugins
  │   ├── go.mod
  │   ├── go.sum
  │   ├── plugins.go # 引入插件
  │   ├── plugins
  │   │   └── sentinel # 插件主体
  │   │       ├── config.go
  │   │       ├── config_test.go
  │   │       ├── filter.go
  │   │       ├── filter_test.go
  │   │       └── ...
  │   └── tests
  │       └── integration # 集成测试
  │           ├── sentinel_route.yaml
  │           └── sentinel_test.go
  ├── site
  │   └── content # 中英文档
  │       ├── en
  │       │   └── docs
  │       │       └── reference
  │       │           └── plugins
  │       │               └── sentinel.md
  │       └── zh-hans
  │           └── docs
  │               └── reference
  │                   └── plugins
  │                       └── sentinel.md
  └── types
      └── plugins 
          ├── plugins.go # 引入插件
          └──  sentinel  # 插件配置结构
              ├── config.go
              ├── config.pb.go
              ├── config.pb.validate.go
              └── config.proto

插件配置结构: 

1. 进入 types/plugins 目录,创建插件配置结构目录 sentinel

2. 在 sentinel/config.proto 中定义插件模型,即配置结构

3. 通过根目录的 Makefile,执行 make gen-proto 生成插件的 Go 配置结构

4. 在 sentinel/config.go 定义插件名称、类型、执行顺序等,并编写 Validate 作为配置校验逻辑

5. 在 plugins.go 中添加配置结构 package 

插件开发及单元测试: 

1. 进入 plugins/plugins 目录,创建插件目录 sentinel

2. 在 sentinel/config.go 中编写插件配置解析逻辑

3. 在 sentinel/filter.go 中编写插件核心工作逻辑  

4. 在 sentinel/config_test.go 中编写配置解析的单元测试  

5. 在 sentinel/filter_test.go 中编写插件工作所依赖方法的单元测试 

集成测试: 

1. 返回 plugins 目录  

2. 在 plugins.go 中添加插件 package  

3. 在 tests/integration/sentinel_test.go 中编写集成测试  

4. 通过当前目录下的 Makefile,执行 make bulid_test_so 得到编译产物,接着进行集成测试,如GreenOpstest -v  ./tests/integration/sentinel_test.go ./tests/integration/suite_test.go

插件文档: 

1. 进入 site 目录  

2. 在如下位置编写中文文档

content/zh-hans/docs/reference/plugins/sentinel.md 中

3. 使用仓库提供的翻译工具得到 prompt:go run cmd/translator/main.go -f .content/zh-hans/docs/reference/plugins/sentinel.md --from zh-Hans | pbcopy

4. 将粘贴板内容提交到 LLM,如 ChatGPT 中得到英文文档,保存到

content/en/docs/reference/plugins/sentinel.md 中

其他: 

1. 在 maintainer/feature_maturity_level.yaml 中添加插件的成熟级别(feature maturity level)  

2. 通过根目录的 Makefile, 执行 make lint,make fmt 等命令做代码提交前的检查

 参考

  • 如何二次开发 HTNN:https://github.com/mosn/htnn/blob/main/site/content/zh-hans/docs/developer-guide/get_involved.md

  • 插件开发:https://github.com/mosn/htnn/blob/main/site/content/zh-hans/docs/developer-guide/plugin_development.md

  • 插件集成测试框架:https://github.com/mosn/htnn/blob/main/site/content/zh-hans/docs/developer-guide/plugin_integration_test_framework.md

开源之夏个人随访

 自我介绍

大家好,我是韦鑫,目前就读于南京航空航天大学,是计算机科学与技术学院研三的学生,研究方向是分布式系统。

 参与该项目的原因

在本科期间,我就想要尝试参与开源活动。我认为这是一件很酷、很有趣的事情,但总会认为自己知识储备不足选择望而却步。然而,想到学生时代仍有不过这短短几年,与其自我矛盾、踌躇不前,不如先行动起来再说。因此在 2023 年,我根据自己的研究方向,第一次参与开源之夏的项目。事实证明,技术不足并不是妨碍参与开源活动的关键,缺乏热情才是。在那里,我认识了非常有趣的社区同学,了解了相关行业现状,并在实践中学习,在学习中实践,这种相互交流讨论、学以致用的过程让我很有成就感。

在科研工作中,我了解并学习了需要使用到的 Kubernetes、Istio,进而了解到了 Envoy 及 MOSN。因此在本次开源之夏中,我选择了与自身匹配度较高的、隶属于 MOSN 社区下的 HTNN 子项目。HTNN 社区虽然正处于前期快速迭代阶段,但是综合社区文档代码等方面来看,对我而言仍然是一个非常难得的学习机会。

 如何克服项目过程中的困难与挑战

在代码开发过程中碰到问题和挑战是再寻常不过的事情,战胜困难的最好方法就是直面困难。通常我会先尽自己所能去寻找问题的答案,尽管这样会花费大量的时间,但也会在这个过程中能够收获许多。面临实在无法解决或拿捏不准的问题时,我会将自己的探索过程及想法同步到社区,与社区同学和导师讨论交流、集思广益。

在进行此次项目的过程中,我与社区同学及导师讨论了许多问题。令我印象最深的一个问题是 Sentinel Entry 的 Exit 时机问题。Sentinle Entry 的 Exit 时机不当可能会导致资源泄露、指标统计不准确等问题。最初我选择在 EncodeHeaders 阶段进行 Exit 操作,考量是 CircuitBreaker 熔断策略需要在响应阶段根据响应状态码统计指标。但在与社区同学讨论后得出结论是:客户端可能会在 EncodeHeaders 阶段之前中断请求,此时无法执行其中的 Exit,从而出现上述问题。因此最终决定在客户端中断请求也会被触发的 OnLog 阶段进行 Exit 操作,保证上述边界情况出现时依然能正常释放资源、统计指标。

将代码逻辑从 EncodeHeaders 迁移至 OnLog 衍生出了无法获取到响应头部的问题。这是因为在 Envoy 1.31 中还不支持在 OnLog 中获取头部信息,需要额外执行头部获取操作来缓存该项信息,我也因此提交另外一个 PR。

 你对 HTNN 的印象

MOSN 社区的 HTNN 是个非常有趣的项目,是一款基于云原生技术的 L3 & L4 & L7 Cross-Layer 网络全局解决方案产品。我曾有幸参与过 Envoy WASM 的插件开发、维护工作,但受限于 WASM 的成熟度,Golang 生成 WASM 会存在诸多的限制,因此仅仅是能够使用全功能的 Golang 进行插件开发这一点就足以让我眼前一亮,相信这一能力在今后也能够吸引到更多 Gopher,另外 HTNN 还有其他更多宝藏等着我们去发掘。

麻雀虽小,五脏俱全。作为早期快速迭代的开源项目,HTNN 有着相当完备的说明文档、国际化、单元测试、集成测试框架和 CI/CD,同时代码也十分工整优雅。当有问题发 Issue 时,能够很快的得到社区同学的响应和帮助;对于 PR,相关同学也会非常认真负责地进行 Code Review,并给出相当有见解的修改建议。因此我认为这对想要入门学习云原生、服务网格、网关等相关技术的同学而言是一个非常棒且值得考虑的社区。

总而言之,HTNN 是一个开放、热情、有活力且极具有强技术力的开源社区。

 有哪些收获

在此次项目中,我学会了如何开发 HTNN 插件。它基于 MoE 能力,即 Envoy Golang 扩展机制,使我在服务网格、云原生网关方面的拼图更加完整,这对我今后的开源活动、工作提供了十分宝贵的实践经验。 

同时,社区完备的自动化能力让我深刻地意识到严格的单元测试、集成测试、CI/CD 对于整个项目的重要性。它能够很好地规范代码、减少不必要的错误、提升代码质量、减轻 Reviewer 的心智负担,这也是我今后需要重点关注和学习的方向。

 寄语

或许我们曾长久仰望,那些看似遥不可及的璀璨星辰;却未曾察觉,在默默耕耘的岁月里,自己正悄然蜕变成那颗最耀眼的星。相信自己,勇敢地去做自己认为很酷的事!

推荐阅读

ab23b237c225567e0a227abcc427f446.jpegHTNN 如何斟酌出更好的插件扩展机制

HTNN 如何斟酌出更好的插件扩展机制

106bb6881a97aa26e4da30bb2ef3198e.jpeg

HTNN 开源 - MOSN 社区新网络产品

456d159e4cae162c1c427a883f3b1f18.png

从一次 RPC 请求,探索 MOSN 的工作流程

2cac91abe2c17043dc82870f9daf82d9.png

MoE 系列(七)| Envoy Go 扩展之沙箱安全

01877275c00aebec5a13555a33c1007e.png

深入了解MOSN云原生网络数据平面源码 v0.21.0 本文还有配套的精品资源,点击获取 简介:MOSN(Mesh Over Service Network)是一个面向服务网格的数据平面,用于提供灵活的服务间通信解决方案。本源码解析文档详细介绍了v0.21.0版本的MOSN,它是一个高度可扩展、高性能的云原生网络代理。文档涵盖了MOSN的设计理念、核心架构、服务发现机制、负载均衡策略、安全特性,以及如何阅读源码和参与社区贡献。此... 阅读详情

相关推荐

ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法

在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输

weixin_39275295的博客 7996

从一次 RPC 请求,探索 MOSN 的工作流程

王程铭(呈铭)蚂蚁集团技术工程师,Apache Committer专注 RPC、Service Mesh 和云原生等领域。本文7368 字,预计阅读15 分钟前言MOSN(Modular Open Smart Network)是一款主要使用 Go 语言开发的云原生网络代理平台,由蚂蚁集团开源并经过了双十一大促几十万容器的生产级验证。MOSN 为服务提供多协议、模块化、智能化、安全的代理...

金融级分布式架构 1763

快速了解Spyder

一 面板介绍菜单栏:放置所有功能工具栏:放置快捷菜单,可以通过菜单栏中的View的Toolbars的复选框来勾选工作区:写代码的地方属性页的标题栏:可以显示当前代码的名字和位置查看栏:查看文件、调试时的对象及变量输出栏:查看程序的输出信息,也可以作为shell终端来输入Python语句状态栏:用来显示当前文件权限、编码,光标指向位置和系统内存二 注释功能注释功能为编写代码很常用功能,下面介绍Spy...

实践求真知 1万+

2025 开源之夏 | 快来 Pick 你心仪的项目,开启你的开源之旅吧!

MOSN 为服务提供多协议、模块化、智能化、安全的代理能力,融合了大量云原生通用组件,同时也可以集成 Envoy 作为网络库,具备高性能、易扩展的特点。Koupleless 是一种模块化应用架构,相较于微服务架构的应用拆分方式,Koupleless 将传统应用同时进行纵向和横向切分,实现业务开发者资源无感,轻松独立维护,让传统应用以较低成本演进并享受到 Serverless 研发模式好处,包括快速构建、秒级部署、秒级调度伸缩等能力,为用户提供极致的研发运维体验,最终帮助企业实现倍级降本增效。

金融级分布式架构 589

kaggle竞赛平台上数据集下载详解

从kaggle 网站上下载数据集既保证了速度又避免了网络的不稳定造成下载失败问题。该平台也可以上传代码作为自己的代码库,不过本人更习惯将代码上传到github上。希望本人整理的kaggle库使用技巧能够帮助到正在阅读本博客的你。此外还有一篇博客针对kaggle数据集下载问题的几个问题的相关文章进行了整理【博客链接】。

li1784506的博客 2万+

室内温度控制仿真(Simulink+PLC)

本篇博客将会带领大家解读Simulink自带的仿真模型(Thermal Model of a House),之后再讨论PLC控制系统控制环境温度的一些经验方法

RXXW_Dor的博客 3462

MOSN 反向通道详解

目前例如 SuperEdge、Yurttunnel 等业界知名云边协同开源框架,对于云边通信的实现方案都是基于反向通道。本文将着重介绍 MOSN 之上的反向通道运作流程和原理。

金融级分布式架构 586

【ArcGIS Pro微课1000例】0073:ArcGIS Pro3.5.2学习版下载及安装教程

ArcGIS Pro 3.5.2安装教程摘要:系统需Windows10及以上,8GB内存(推荐32GB)。安装步骤:1)安装.NET 8.0运行环境;2)执行主程序安装包,按向导完成基础安装;3)安装升级补丁;4)替换AfCore.dll文件并导入注册表。注意安装后删除临时文件节省空间。软件下载地址包含在百度网盘链接。安装过程需依次完成环境配置、主程序安装、补丁更新及破解步骤。

智慧空间实验室 1778

MOSN 多协议扩展开发实践

Service Mesh 是当今云原生的关键部分,蚂蚁已经在生产环境完成了大规模的落地,但是业界整体 Service Mesh 改造程度还不高。其中平稳的进行 Mesh 化改造是可以对已上...

金融级分布式架构 462

基于Keil软件实现OLED显示(江协科技HAL库)

没有HAL库的OLED驱动文件,可以看过来

2401_82728381的博客 1453

【医学图像处理】X-ray成像之X射线的产生

【医学图像处理】X-ray成像之X射线的产生 概述 电流流过钨丝,并将其加热。 随着加热,增加的能量使电子能够通过热电子发射从灯丝中释放出来。 电子被吸引到带正电的阳极,并以由管电位(电压)确定的最大能量撞击钨靶。 当电子轰击目标时,它们通过轫致辐射和特有的相互作用将能量转换为热量(99%)和X射线光子(1%)。 X射线光子以一束能量(X射线光谱)从光束中释放出来,构成X射线图像形成的基础。 设备 阴极 灯丝 用细的(0.2毫米)钨丝制成,因为钨: 原子序数高(A 184,Z 74) 是良好的热

ZhangPY的专栏 2357

SOFA Weekly|开源之夏经验分享、社区本周贡献

rchitecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。2025 开源之夏 | 快来 Pick 你心仪的项目,开启你的开源之旅吧!开源之夏经验分享|SOFARPC 社区郑佳莉:开源的收获不止代码。

金融级分布式架构 151

Winform从入门到精通(2)——Button(史上最全)

本文介绍winform中Button控件的详细用法,包括所有属性和事件

qq_34059233的博客 1万+

SOFA Weekly|社区本周贡献、本周推荐阅读

SOFA WEEKLY | 每周精选筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(ScalableOpenFinancialArchitecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控...

金融级分布式架构 182

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SOFA Weekly|SOFARPC 新版本发布、Koupleless 社区会议回顾

rchitecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。修复了在 reference 设置了方法级别参数,但不设置超时时间的情况下,该方法的超时时间不生效接口级别超时时间的问题。Koupleless 社区双周会。

金融级分布式架构 283

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SOFA Weekly|Koupleless 社区会议回顾、SOFA 办公室摇人系列、本周社区贡献、本周推荐阅读...

SOFA WEEKLY | 每周精选筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(ScalableOpenFinancialArchitecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控...

金融级分布式架构 267

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

开源之夏 · 菁英招募令:认领 ShardingSphere 项目,瓜分万元奖金池!

???? 开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,2023 年,开源之夏与 133 家优秀开源社区紧密合作,成功为本届活动上线 594 个项目任务,项目涵盖了操作系统、编译器、人工智能、大数据、数据库、云原生、RISC-V 等众多热门领域,涉及技术标签 110 多个。菁英招募令:寻找积极进取的“你”你想告别犹豫、真正开启自己在全球顶级开源社区「畅意驰骋」的第一...

ShardingSphere官微 378

社区文章|MOSN 路由框架详解

文|曹先胜e签宝中间件开发负责 e签宝中间件开发和维护包括 MQ、网关、微服务、数据同步、全链路压测等本文4827字 阅读7分钟01贡献者前言MOSN「 开源就是在使用中,共同...

金融级分布式架构 1212

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

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

weixin_45583158的博客 820

2024 开源之夏|Hi 同学,快来认领你的开源任务!

????这个夏天,SOFAStack 和 MOSN 又双叒叕参加了开源之夏,带着 6 个项目任务与大家见面啦!活动简介开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。在开源之夏的活动中,学生们能够利用暑期时间参与到开源项目的建设,提高...

金融级分布式架构 937

开源之夏 2024 启动会成功举办,社区报名正式开放

2024 年 3 月 10 日,由中国科学院软件研究所和华为技术有限公司共同主办的开源软件供应链点亮计划-开源之夏 2024 启动会在软件所成功举办。来自各开源社区的开发者和贡献者、高校教师和学生、业界知名专家齐聚一堂,共同见证开源之夏 2024 拉开帷幕。启动会上,中国科学院软件研究所副所长、总工程师武延军,华为首席开源联络官、开源与开发者产业发展副总裁任旭东分别致辞,强调了开源软件在促进科技创...

开源社KAIYUANSHE的博客 534

Mosn环境搭建(二)MOSN 开发环境 搭建

MOSN Linux环境开发环境搭建安装Golang环境安装Goland开发工具下载mosn源码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 安装Golang环境 安装Goland开发工具 下载mosn源码 你好! 这是

ruanjiangjx的博客 1172

MOSN 1.0 发布,开启新架构演进

MOSN 是一款主要使用 Go 语言开发的云原生网络代理平台,由蚂蚁集团开源,经过双 11 大促几十万容器的生产级验证。 经过 4 年的蓬勃发展,在 11 位 commiter,100 多个 contributor 和整个社区的共同努力下,经历 27 个小版本的迭代,MOSN 1.0 版本正式发布了。

蚂蚁金服技术团队 590

MOSN(Modular Open Smart Network)-06-MOSN 多协议机制解析

云原生网络代理 MOSN 定位是一个全栈的网络代理,支持包括网络接入层(Ingress)、API Gateway、Service Mesh 等场景,目前在蚂蚁集团内部的核心业务集群已经实现全面落地,并经受了 2019 年双十一大促的考验。今天要向大家介绍的是云原生网络代理 MOSN 核心特性之一的多协议扩展机制,目前已经支持了包括 SOFABolt、Dubbo、TARS 等多个协议的快速接入。

1157

开源之夏2024报名开启 | 参与openGauss项目,赢高额奖金!

...

openGauss的博客 695
上一篇: 从社区数据看大模型开发生态的全景与趋势
下一篇: 开源之夏经验分享|Layotto 社区 郑浩宁:尝试,就会有收获!
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值