开源之夏经验分享|Layotto 社区 郑浩宁:尝试,就会有收获!

Android View layout方法的简单使用案例 layout的妙用 阅读详情

outside_default.png

4667e82a00a68f0df541d96d9cde927f.jpeg

郑浩宁

软件工程专业

Layotto 社区贡献者

就读于福州大学,软件工程专业的大三学生。当前致力于微服务与云原生领域。

本文 1708 字,预计阅读 5 分钟 

今天 SOFAStack 邀请到了开源之夏 2024 Layotto 社区的中选学生郑浩宁同学。在本项目中,他完成了「对齐 Layotto 对 Dapr 的依赖」这一课题任务。希望他分享的这段经历,能让更多人了解到 Layotto 开源社区,感受开源的魅力~

项目链接:https://summer-ospp.ac.cn/org/prodetail/24f080353?list=org&navpage=org

项目信息

项目名称:对齐 Layotto 对 Dapr 的依赖

项目导师:王文学 

项目描述:Layotto 在创建之初,目标就是需要兼容 Dapr 接口和 Dapr 相关的 component 的实现,并且在 22 年,对 Dapr 的 v1.5.2 版本做了第一次的兼容。但是当前 Dapr 的版本已经走到了 v1.13.0,很多能力做了修复,就需要我们将 Layotto 中 Dapr 的兼容版本升级到 v1.13.0。  

项目实现思路

 对 Layotto 项目中的相关 Dapr API 进行处理

对于早期依赖于 Dapr API 的部分,这部分由于无人使用且维护成本高,需要将原 Dapr API 的相关内容迁移到 Layotto API 部分中,然后将整个 Dapr API 部分移除。

f1c67722287e97ef7537ccc9f7b91a07.jpeg

以 SaveState 代码示例: 

修改前:

func (a *api) SaveState(ctx context.Context, in *runtimev1pb.SaveStateRequest) (*emptypb.Empty, error) {
        // 构造请求 
        // ...
        // ...


        // 调用 Dapr API
        return a.daprAPI.SaveState(ctx, daprReq)
}


func (d *daprGrpcAPI) SaveState(ctx context.Context, in *dapr_v1pb.SaveStateRequest) (*emptypb.Empty, error) {
        // 构造请求 
        // ...
        // ...


        // 调用 Dapr-contrib 执行具体逻辑
        err = store.BulkSet(reqs)
        if err != nil {
                err = d.wrapDaprComponentError(err, messages.ErrStateSave, in.StoreName, err.Error())
                log.DefaultLogger.Errorf("[runtime] [grpc.SaveState] error: %v", err)
                return &emptypb.Empty{}, err
        }
        return &emptypb.Empty{}, nil
}

修改后:

func (a *api) SaveState(ctx context.Context, in *runtimev1pb.SaveStateRequest) (*emptypb.Empty, error) {
        // 构造请求 
        // ...
        // ...


        // 直接调用 Dapr-contrib 执行具体逻辑
        err = store.BulkSet(ctx, reqs, state.BulkStoreOpts{})


        if err != nil {
                err = a.wrapDaprComponentError(err, messages.ErrStateSave, in.StoreName, err.Error())
                log.DefaultLogger.Errorf("[runtime] [grpc.SaveState] error: %v", err)
                return &emptypb.Empty{}, err
        }


        return &emptypb.Empty{}, nil
}

 Dapr 相关依赖进行升级

这部分工作可简要概括如下:

5dbd1919a1babc00d45c496ee7ec376c.png

开源之夏个人随访

 自我介绍

大家好,我是郑浩宁,目前是福州大学软件工程专业的大三学生。自从大二以来,我就对开源抱有浓厚的兴趣,这次是我第一次真正意义上为社区的开源项目进行贡献。  

 参与该项目的原因

因为我本身就对微服务与云原生领域抱有兴趣,在这次 OSPP 的申报过程中也就自然而然的接触到了 SOFAStack 社区,进而注意到了 Layotto 项目。

在对 Layotto 项目有了一定程度的了解之后,我马上对这个项目产生了浓厚的兴趣,并且最终决定参与到 Layotto 项目的开源贡献之中。  

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

OSPP 开始后,我参考了官方以及 Dapr 的文档、相关联的 issues、项目的源码实现,同时在与导师进行积极的交流之后,最后得出对于这次课题的合适方案。 

在项目开发的过程中,导师给予了我许多的帮助。当我在开发过程中遇到问题时,我会将具体问题整理成文档并附上个人的理解,通过文档与导师一起讨论问题并解决问题。 

在项目的开发过程中,也有一些问题让我留下了深刻印象。比如对于 Dapr 的依赖升级:Dapr 已经走过了很多版本,许多功能都进行了升级完善,而 Layotto 使用的 Dapr 依赖已经是很早之前的版本了,由于版本跨度大,对 Dapr 的依赖进行升级后, Layotto 会出现大量的错误,此时就需要修复所有因此出现的错误。

在通过与导师的沟通交流完成课题工作后,又由于这部分的工作导致了 Github 上的 CI/CD 失效,后续还是通过与导师的配合一起完成了这部分的功能。  

 你对社区的印象

SOFAStack 社区是一个充满活力、专业的组织,致力于推动云原生技术的发展。通过开源合作、技术创新和社区生态系统的建设,该社区为开发者提供了丰富的资源和平台,以促进云原生应用的普及和应用。

SOFAStack 社区同时也是一个充满开源精神的组织,欢迎并鼓励学生和开源爱好者的积极参与,与所有开源爱好者一同建设,共同成长。

 有哪些收获

参与这次开源之夏项目,不仅加深了我对云原生领域的认识,更让我在实践中获得了珍贵的经验。同时,这次经历也拓宽了我的技术领域,激发了我投身开源事业的热忱。

在开发过程中,我遭遇了众多未预见的难题。然而,正是这些挑战及其克服过程,为我的编程生涯塑造、积累了极为宝贵的经验。  

 寄语

开源之夏为所有人都提供了一个很好的机会。而对于开源本身,我相信只要勇于尝试,无论结果如何,都会有所收获!

推荐阅读

1b6d03cc2ce733bac190da0b72c74ad4.png

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

b1aa640de15fda4975cca8f254523a69.png

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

6bb691c506dd91a38defd6d6ab9f6bdd.png

MoE 系列[(六)|Envoy Go 扩展之并发安全

296b2006afe7f17672d7aab393fa839b.png

如何在一个基座上安装更多的 Koupleless 模块?

ebb8738caa7834349d19aff0fbd053b8.png

LayoutToLayoutDemo LayoutToLayoutDemo .................. 立即下载

相关推荐

基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)

基于非对称纳什谈判的多微网电能共享运行优化策略(Matlab代码实现)内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际上内容并未围绕Plecs或全桥LLC谐振变换器展开详细论述,而是罗列了大量基于Matlab/Simulink和Python的科研仿真项目标题及相关技术方向,涵盖电力系统、无人机控制、微电网优化、路径规划、状态估计、信号处理、电动汽车调度、电力电子变换器等多个领域。其中包括多种优化算法(如粒子群、遗传算法、NSGA-II)、控制策略(如PID、MPC、滑模控制)、仿真建模(如LLC谐振变换器、DAB变换器、PWM整流器)以及具体应用场景的研究实现。尽管提及“隔离型全桥LLC谐振变换器建模及参数设计资料”,但全文缺乏对该主题的具体描述、模型细节或仿真分析,仅作为条目之一出现。因此,该文档实质是一份科研项目资源清单或代码合集目录,而非针对某一主题的深入文章。; 适合人群:具备一定Matlab/Simulink或Python编程基础,从事电气工程、自动化、控制科学、电力电子、新能源系统等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研工作者提供丰富的课题参考与复现资源,涵盖优化调度、控制系统设计、电力电子仿真等方向;②辅助完成硕士/博士论文、期刊论文复现、课程设计或项目开发,提升研究效率与创新性;③通过已有模型和代码快速搭建仿真平台,聚焦算法改进与性能优化。; 阅读建议:此文档应作为科研资源索引使用,读者可根据自身研究方向筛选相关条目,结合配套代码与参考资料进行深入学习与实践。对于希望研究全桥LLC谐振变换器的用户,需注意本文档未提供完整内容,建议查找标注的“仿真+设计报告+计算书”等附件资源以获取详细信息。

MXC spawnSandbox快捷方法:进程隔离专用API完整指南 [特殊字符]

Microsoft eXecution Container(MXC)是一个**跨平台的沙盒代码执行系统**,专为运行不受信任的代码(如模型输出、插件、工具)而设计。其中,`spawnSandbox` API是MXC TypeScript SDK中最核心的快捷方法,它让开发者能够快速启动隔离的进程环境。本文将详细介绍如何使用这个强大的进程隔离专用API,帮助您快速上手MXC沙盒技术。 ## 📋

gitblog_00042的博客 563

VINS-Fusion实战:从零搭建无人机视觉惯性导航系统(附ROS配置指南)

本文提供了一份详尽的VINS-Fusion实战指南,涵盖从硬件选型、传感器标定到ROS节点配置与参数调优的全过程。重点解析了如何将VINS-Fusion视觉惯性里程计系统与PX4飞控深度集成,并实现室外GPS融合,旨在帮助开发者从零搭建稳定、高精度的无人机视觉惯性导航系统。

lll78的博客 865

如何看待 Dapr、Layotto 这种多运行时架构?

文|周群力(花名:仪式)Layotto PMCLayotto 和 SOFAStack 开源社区的建设Dapr 贡献者,Dapr sig-api 的 Co-chair本文10963字 阅读20分钟2019 年,微软开源了 Dapr 项目。2021 年,蚂蚁参照 Dapr 思想开源了 Layotto 项目。如今,蚂蚁已落地 Layotto,服务了很多应用。从理想落...

金融级分布式架构 450

glm-4v-9b环境配置全攻略:从CUDA版本冲突到bitsandbytes异常排查(RTX A4000实测)

本文详细介绍了在RTX A4000显卡上配置GLM-4V-9B多模态大模型的完整流程,重点解决CUDA版本冲突和bitsandbytes异常问题。通过4-bit量化技术显著降低显存占用,提供从环境预检到量化部署的实战指南,帮助开发者在有限显存环境下高效运行大模型。

weixin_30369041的博客 405

114.Android简单的动态切换app的图标,两种方式

- 默认的图标-->-- 需要切换的图标-->android:label="短信"-- 默认activity-->

曹二少的博客 5573

Layotto (L8): 下一代应用运行时的新星

Layotto (/leɪˈɒtəʊ/) 是一个使用 Golang 开发的应用运行时,旨在为应用程序提供各种分布式能力,如状态管理、配置管理、事件发布/订阅等,以简化应用开发。Layotto 构建在开源数据平面 [MOSN](https://github.com/mosn/mosn) 之上,不仅提供分布式构建块,还可以作为服务网格的数据平面,具备流量控制能力。 ## 项目技术分析 Layott...

gitblog_00159的博客 425

从模组到集装箱:手把手拆解一个储能BMS的软硬件架构设计与通信组网

本文深入解析储能BMS的软硬件架构设计与通信组网,从电芯采样到系统集成的全链条技术实现。详细介绍了三级硬件架构(AFE、CMU、BMU)的设计要点,以及软件分层实现中的驱动层、应用层核心算法和通信协议栈。通过实战案例分享CAN网络搭建、调试工具链和系统验证测试经验,为储能系统开发提供实用指导。

weixin_30752699的博客 464

HAVE FUN | SOFA 飞船——Layotto 星球登陆计划

SOFA 飞船Layotto 星球介绍Layotto 是一款使用 Golang 开发的应用运行时, 旨在帮助开发人员快速构建云原生应用,帮助应用和基础设施解耦。Layotto 提供了各种分布式的能力,比如状态管理、配置管理、事件发布订阅等能力,以简化应用的开发。这次 SOFAStack 开源社区启动 SOFA 飞船,踏上充满挑战的星球登陆之旅,旅途第一站来到了 Layotto 星球。星球登陆任...

金融级分布式架构 276

scGPT学习资料汇总 - 单细胞多组学基础模型

scGPT(single-cell Generative Pre-trained Transformer)是一个针对单细胞多组学数据的基础模型,由多伦多大学Wang Bo实验室开发。该模型通过在超过3300万个细胞上进行生成式预训练,捕捉了基因和细胞之间的复杂关系,为多种下游任务提供了强大的基础。scGPT为单细胞分析提供了强大的基础模型和丰富的资源。通过本文汇总的学习材料,读者可以快速掌握scGPT的使用,并将其应用到自己的研究中。

2401_87189860的博客 838

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知 文章目录Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知1.实现思路2.新增钉钉机器人并测试消息的发送2.1.新增钉钉机器人2.2.测试发送消息到钉钉3.在Jenkins中新建一个构建任务3.1.新建任务3.2.配置任务时增加参数化构建过程3.3.配置任务添加git地址3.4.配置构建触发器生成gitlab webhook使用的token3.5.配置任务构建过程中执行的She

江晓龙的博客 3809

开源之夏经验分享|Layotto 社区 陈亦昺:保持热情、全力以赴!

今天 SOFAStack 邀请到了开源之夏 2023Layotto 社区的中选学生陈亦昺同学!在本项目中,他负责可插拔式组件的开发。希望他分享的这段经历,能让更多人了解到 Layotto 开源社区,感受开源的魅力~项目链接:https://summer-ospp.ac.cn/org/prodetail/23f080194?list=org&navpage=org项目名称Layotto s...

金融级分布式架构 306

(四)美赛画图篇:画图模板+画图工具

美赛画图篇:画图模板+画图工具(一)画图模板(二)画图工具 因为散点图、折线图等多与数据有关,且需相关软件生成,故此处多是通用模板。直接替换文字内容即可。 (一)画图模板 1、Visio圆圈图 适合于:指标体系(E题常用) 点击下载:1 C币 如果不想花费且时间充足,悄咪咪地说,在visio-模板搜索可以找到很多。(稍微会耗一点时间) 2、简单指标体系图PPT 适合于指标体系 点击下载:0 C币...

weixin_43689393的博客 1万+

SOFA Weekly|Layotto 社区会议预告、SOFAServerless 社区会议回顾、社区本周贡献

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

金融级分布式架构 189

[知识图谱构建] 一.Neo4j图数据库安装初识及药材供应图谱实例

2012年5月,谷歌公司的知识图谱(Knowledge Graph)产品被正式提出,其旨在将人、地点、物等信息作为实体,将实体间的联系作为关系,并将实体和关系以图的形式进行存储。作为语义网的最新产物,知识图谱这种新型的搜索引擎改变了传统的文本搜索结果,而随后国内公司也开发出了相应产品,例如百度公司的“知心”和搜狗公司的“知立方”等。知识图谱本质上属于一种语义网。知识图谱中的每一条数据或事实一般会采用 <实体,属性,属性值> <实体, 关系,

杨秀璋的专栏 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Layotto 常见问题终极解决方案:从安装到部署的完整指南

Layotto 作为一款快速高效的云原生应用运行时,能够帮助开发者简化微服务架构下的配置管理、服务通信和状态管理等复杂任务。本文将系统梳理从安装到部署过程中的常见问题,并提供经过验证的解决方案,让你轻松掌握这个强大工具的使用技巧。 ## 一、Layotto 核心架构解析 在解决问题之前,我们先了解 Layotto 的核心架构。Layotto 采用分层设计,通过 Runtime API 层抽象各

gitblog_00728的博客 928

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

BERTicelli终极指南:如何快速部署仇恨言论检测模型?3分钟上手教程

BERTicelli是基于BERT架构的仇恨言论检测模型,能够快速识别文本中的攻击性语言。本教程将帮助你在3分钟内完成模型部署,即使是AI新手也能轻松上手仇恨言论检测功能。 ## 🚀 准备工作:3步环境搭建 ### 1. 克隆项目代码库 首先通过Git命令获取完整项目资源: ```bash git clone https://gitcode.com/hf_mirrors/Changchun_

gitblog_00758的博客 647

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

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SOFA Weekly|开源之夏 MOSN 与 Layotto 项目简介、社区会议预告、社区本周贡献

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

金融级分布式架构 1044

开源之夏 2024 KubeSphere 社区项目总结

开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。11 月 9 日,官方完成最终审核,并发布结果。KubeSphere 社区积极参与本次活动,作为导师,共获得了 4个官方赞助名额。基于 LangChain 实现的 Pod 状态分析工具Fluent Operator 集成 Fluent-bit 3.0OpenELB 支持 IPv6。

KubeSphere 1567

SOFA Weekly|Layotto 会议预告、社区本周贡献 & issue 精选

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

金融级分布式架构 386

Layotto:ServiceMesh,Runtime,FaaS 三位一体|A2M 峰会

当前,云应用正从消费互联网向产业互联网渗透,云和 AI 已成为数字经济发展和企业转型的必选项。2020 年云计算在互联网行业的应用同比下降 6.2%,云与计算正在加速向传统产业延伸,云原生...

金融级分布式架构 371

Layotto:ServiceMesh,Runtime,FaaS 三位一体|稀土开发者大会

稀土开发者大会是集「国际性」、「前瞻性」、「实践性」为一体的开发者大会,是面向开发者社区新生中坚力量,旨在帮助研发团队骨干拓宽视野,实现跨越式成长。在首届稀土开发者大会的直播中,蚂蚁集团中...

金融级分布式架构 739

SOFA Weekly | Layotto 本周新晋 Contributor、QA 整理、新手任务

SOFA WEEKLY | 每周精选筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(ScalableOpenFinancialArchitecture Stack...

金融级分布式架构 397

恭喜 张立斌 成为 Layotto committer!

张立斌|华中科技大学研究生软件工程专业 |张立斌目前的研究方向是 ROS 机器人,兴趣使然,他将 ROS 机器人与云原生相结合作为毕设的主题。因此积极为 Layotto 社区做贡献,...

金融级分布式架构 290

应用运行时 Layotto 进入 CNCF 云原生全景图

2022 年 2 月 10 日,CNCF 发布了最新版本的Landscape。Layotto 正式加入CNCF 云原生全景图!分类在 Serverless framework 板块下详...

金融级分布式架构 550
上一篇: 开源之夏经验分享|MOSN 社区韦鑫:做自己认为很酷的事
下一篇: 喜报!Apache Seata (incubating) 荣获 2024 开源创新榜单“年度开源项目”!
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值