关于开源:开源之夏-2023欢迎报名-SOFAStack-社区项目

27次阅读

共计 3470 个字符,预计需要花费 9 分钟才能阅读完成。

开源之夏是由“开源软件供应链点亮打算”发动并长期反对的一项暑期开源流动,旨在激励在校学生积极参与开源软件的开发保护,促成优良开源软件社区的蓬勃发展,造就和挖掘更多优良的开发者。

流动联结国内外各大开源社区,针对重要开源软件的开发与保护提供我的项目工作,并面向寰球高校学生凋谢报名。

2023 年,SOFAStack 社区 再次退出中国科学院软件研究所的高校开源流动——“开源之夏 2023”,一共为大家筹备了五个工作,涵盖 SOFARPC、SOFAArk、SOFAJRaft 和 Layotto 等外围我的项目,波及 Golang、Java、Kubernetes、Cloud Native、Distributed System 等多个畛域。

SOFARPC 我的项目介绍

SOFARPC 是由蚂蚁团体开源的一款 Java RPC 框架,具备高可扩展性、高性能和生产级个性。该框架旨在简化利用之间的 RPC 调用,并为利用提供便捷通明、稳固高效的点对点近程服务调用计划。为不便用户和开发者进行性能扩大,SOFARPC 提供了丰盛的模型形象和可扩大接口,包含过滤器、路由、负载平衡等。

SOFAArk 我的项目介绍

SOFAArk 是一款基于 Java 实现的轻量级类隔离容器,由蚂蚁团体开源奉献。该容器次要提供类隔离和利用(模块)合并部署能力。SOFAArk 提供多种形式来反对多利用(模块)合并部署,包含基于命令行的管控、基于 API 的管控等。

SOFAJRaft 我的项目介绍

SOFAJRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,实用于高负载低提早的场景,反对 MULTI-RAFT-GROUP。应用 SOFAJRaft 可专一于业务畛域,由 SOFAJRaft 解决与 RAFT 相干的技术难题。并且 SOFAJRaft 易于应用,能够通过几个示例疾速把握它。

Layotto 我的项目介绍

Layotto(/leɪˈɒtəʊ/) 是一款应用 Golang 开发的利用运行时, 旨在帮忙开发人员疾速构建云原生利用,帮忙利用和基础设施解耦。它为利用提供了各种分布式能力,例如状态治理、配置管理、事件公布订阅等,以简化利用的开发。

流动规定

开源之夏官网:

https://summer-ospp.ac.cn/

各位同学能够自由选择我的项目,与社区导师沟通实现计划并撰写我的项目计划书。被选中的学生将在社区导师领导下,按计划实现开发工作,并将成绩奉献给社区。社区评估学生的完成度,主办方依据评估后果发放赞助金额给学生。

SOFAStack 社区我的项目

我的项目链接:https://summer-ospp.ac.cn/org/orgdetail/95a9e459-a200-4a26-bc0a-81074c2d89be?lang=zh

SOFARPC Java、网络通信、RPC

我的项目社区导师:EvenLiu

mailto:evenljj@163.com

SOFARPC 反对 Stream 流式解决形式

项目编号:2395a0260

我的项目难度:进阶 /Advanced

Stream 形式是一种异步的流式解决形式,能够在数据传输过程中一一解决数据,防止一次性传输大量数据造成的性能问题。服务端 Stream 是指服务端在解决申请时,将数据分成多个局部一一返回给客户端的过程;客户端 Stream 是指客户端在申请服务器时,将申请参数分成多个局部一一发送给服务器的过程。Stream 形式能够让咱们在解决大量数据时更高效地应用资源,进步零碎的性能和响应速度。SOFARPC 中须要 Triple、Bolt 协定反对 Stream 形式流式解决。

  • SOFARPC 中 Triple 协定反对 Stream 流式解决。
  • SOFARPC 中 Bolt 协定反对 Stream 流式解决。

SOFAArk Java、SOFAArk 源代码

我的项目社区导师:卫恒

mailto:glmapper_2018@163.com

开发一个客户端,反对 Biz 模块的热部署和热卸载,初步实现 Serverless 体验

项目编号:2395a0267

我的项目难度:根底 /Basic

SOFAArk 从最后的一个类隔离框架,逐渐演进为反对合并部署与热部署的“Serverless”运行时框架,尤其在去年咱们实现了 SOFAArk1.0 到 2.0 架构的演进。然而为了让开发者真正享受 Serverless 的研发体验,咱们还须要建设一个客户端框架,对接 SOFAArk 实现 Biz 模块的热部署和热卸载,并裸露 HTTP API 接口能够让上游零碎或者开发者间接应用。

  • 设计并开发一个新的 SDK(SOFALet),新的 SDK 也就是 SOFALet 裸露一组 HTTP 接口,底层调用 SOFAArk 原子能力实现模块的热部署和热卸载。SOFALet 将来还会有 Node.js 版,这一期先反对 Java 版也就是对接 SOFAArk。
  • 了解 SOFAArk 源代码,尤其是对于 telnet 指令装置和卸载模块的局部。

SOFAArk Go、K8s

我的项目社区导师:流铄

mailto:xujinle300@126.com

开发一个 K8s Operator,编排客户端 API 实现 Biz 模块的热部署,初步达成 Serverless 研发体验

项目编号:2395a0392

我的项目难度:根底 /Basic

为了让开发者真正享受 Serverless 的研发体验,咱们须要先建设一个繁难的 K8s Operator 和 SOFA Module Deployment、SOFA Module ReplicaSet CRD,对接编排模块热装载和热卸载的客户端,实现模块秒级公布的初步能力,让开发者能初步体验到 Serverless 的公布运维能力。

  • 了解 SOFAArk 模块装置和卸载局部的源代码,并且相熟 K8s CRD 和 Operator 体系的设计与开发。

SOFAJRaft Java、网络通信、RPC

我的项目社区导师:刘源远

mailto:gege87417376@qq.com

联合 NWR 实现 Flexible RAFT,用于自定义 Quorum 的大小

项目编号:2395a0390

我的项目难度:进阶 /Advanced

JRaft 是一个基于 RAFT 一致性算法的生产级高性能 Java 实现,它运行过程分为两个阶段,即 Leader 选举和日志复制。在原始的 RAFT 算法中,Leader 选举和日志复制都须要取得多数派成员的反对。而 NWR 模型则能够在动静调整一致性强度的场景中应用,它须要满足 W+R>N,以保障强一致性。JRaft 将 RAFT 和 NWR 联合起来,使得用户能够依据不同的业务需要来动静调整 Quorum 的数量。例如,在一个写多读少的场景中,用户能够将多数派的数量从 3 调整为 2,以升高达成共识的条件,从而进步写申请的效率。同时,为了保障 RAFT 的正确性,写 Quorum 的调整须要付出代价,即读 Quorum 的数量也须要相应调整。JRaft 反对成员变更,因而用户能够配置 (0,1] 范畴内的小数来计算 W 和 R 的具体值。通过应用 JRaft,用户能够依据本人的业务需要来灵便地调整一致性强度,使得分布式系统在不同场景下都能够获得最佳的性能和正确性。

  • 为 JRaft 实现自定义 Quorum,动静调节 Quorum 的参数,为自定义 Quorum 的场景减少 Jepsen Case。
  • 把握 RAFT 算法协商过程;基于 RAFT 设计 NWR 模型,编写具体设计文档。

Layotto Go、Kubernetes、K8s

我的项目社区导师:刘训灼

mailto:mixdeers@gmail.com

Layotto 反对主动 / 手动注入 Pod 部署

项目编号:2395a0359

我的项目难度:进阶 /Advanced

Kubernetes 是 CNCF 下容器资源编排的一个施行规范,Layotto 也拥抱 K8s 环境,在 Kubernetes 集群中,经常以 Sidecar 形式运行。社区需提供形式,以便开发者 / 运维在 Kubernetes 环境中疾速部署 Layotto。

  • 提供命令行工具,反对手动注入 Layotto 至 Pod 中;提供 Webhook 插件,反对动静注入 Layotto 至 Pod 中;相熟 Golang、相熟 Cobra 编写 Golang 命令行工具。
  • 理解 K8s 根本架构与原理,了解 Pod 生命周期;理解 K8s WebHook 机制;理解 Golang 模版化以及动静渲染模版相干常识。

申请资格

  • 本流动面向年满 18 周岁在校学生。
  • 暑期行将毕业的学生,只有在申请时学生证处在有效期内,就能够提交申请。
  • 中国籍学生参加流动需提供身份证、学生证、教育部学籍在线验证报告(学信网)或在读证实。
  • 外籍学生参加流动需提供护照,同时提供录取通知书、学生卡、在读证实等文件用于证实学生身份。

流动流程

正文完
 0