Seata x 2022 開源之夏 ,一起來做開源達人!
開源之夏是什麼
開源之夏是由“開源軟體供應鏈點亮計劃”發起的暑期開源活動,由中國科學院軟體研究所與 openEuler 社群聯合主辦,旨在鼓勵在校學生積極參與開源軟體的開發維護,促進優秀開源軟體社群的蓬勃發展。活動聯合國內外各大開源社群,針對重要開源軟體的開發與維護提供專案任務,並面向全球高校學生開放報名。
學生可自主選擇感興趣的專案進行申請,並在中選後獲得社群資深開發者親自指導的機會。專案成功結項並貢獻給社群後,參與者將獲得開源之夏活動獎金和結項證書。
Seata 社群今年再度與開源之夏攜手,並準備了 6 項精選專案課題,現已公佈至官網,歡迎同學們掃碼或點選閱讀原文報名申請!
專案簡介
Seata 是一款開源的分散式事務解決方案,致力於在微服務架構下提供高效能和簡單易用的分散式事務服務。在 Seata 開源之前,Seata 在阿里經濟體內部一直扮演著分散式資料一致性中介軟體的角色,幾乎每筆交易都要使用 Seata,幫助業務平穩的度過歷年的雙 11 洪荒流量,對業務進行了有力的技術支撐。2019.1 為了打造更加完善的技術生態和普惠技術成果,Seata 正式宣佈對外開源,Seata 將以社群共建的形式幫助使用者快速的落地分散式事務解決方案。短短 3 年間,Seata 社群已經收穫了 22k star 和超 300 名 contributor,樹立了一大批企業標杆使用者,成為了分散式事務領域的事實標準。
GitHub:https://github.com/seata/seata
專案一:擴充套件 AT 模式的 SQL 語法支援
當前 Seata AT 模式 SQL 語法支援了 insert/update/delete 的簡單操作,以及 MySQL 的 insert into on duplicate key update 語法,期望可以對實現 InsertOrUpdateExecutor 的基類以及為其實現包括 insert ignore into, replace into, insert select, oracle IGNORE_ROW_ON_DUPKEY_INDEX 在內的語法支援。\
導師:Seata Committer 曹華棟
專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/220640396
專案二:Seata-server 與控制檯模組分離並提供 OpenAPI
Seata 控制檯功能,是 1.5 版本後的重大特性功能,這是為使用者展示事務資訊,鎖資訊,及後續手動處理異常事務的管理入口。目前 seata 控制檯邏輯和 server 耦合在一個模組中,需要將 console 模組獨立出來。server 模組和 console 模組通過 openAPI 進行通訊互動和資料獲取。
導師:Seata Committer 汪忠祥
專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/220640392
專案三:Seata控制檯配置項頁面管理
將 Seata 所需要的配置項從 Seata 自身控制面板修改後持久化到配置中心,完成 Seata 關鍵引數的修改,配置下發和配置生效流程,將事務相關配置管理內聚到 Seata 自身控制面板中管理,形成有效的事務閉環。
導師:Seata Committer
王良 專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/220640389
專案四:計算與儲存分離模式優化
在 Seata 計算與儲存分離下,Redis 成為炙手可熱的 Seata 事務儲存模式,其高效能深受廣大使用者青睞,但再此模式下,使用的是 java+jedis(pipeline,mulit)的處理,導致在 server 端斷電,宕機等情況下,會因為多次網路 io 及計算下才算一次完整動作的緣故導致如全域性鎖有可能被殘留,導致資料的不一致,令人望而卻步。而改為 lua 指令碼進行時可將一系列計算+儲存交由 redis 進行,保證了 tc 儲存資料和爭搶全域性鎖時的原子性,保證 redis 事務儲存模式下的高可用,一致性。**\
導師:Seata Committer 陳健斌
專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/220640397
專案五:Seata gRPC 協議支援
當前 Seata 採用的私有協議進行 RPC 傳輸,在雲原生大環境下,採用私有協議已經不符合目前主流趨勢和標準,而使用於基於 http2 的公有協議是 Seata 邁向雲原生重要的一步,增加 gRPC 協議傳輸的支援,在 Seata 目前通訊模組中進一步抽象,使之向下相容原有的 Netty 實現,及 gRpc 擴充套件。
導師:Seata Committer 鍾正濤
專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/220640404
專案六:支援 GTS 通訊協議和訊息
Seata 從 0.7 版本後協議做了重大變更,導致無法相容 0.7 以下版本和內部產品,故此需要進一步支援內部產品 TXC/GTS 產品的通訊協議,使 Seata-server 側能夠無縫相容 2 種通訊協議並且支援 TXC/GTS 的事務訊息處理,以達到使用 TXC/GTS client 的使用者也可以通過 txc-client 使用 Seata-server 提供的分散式事務服務且可使停留至 0.7 及以下使用者無縫升級。
導師:阿里雲 分散式事務團隊 趙學良
專案詳情:https://summer-ospp.ac.cn/#/org/prodetail/22064043803
參與方式
學生可自由選擇專案,登入官網報名申請對應專案即可,被選中的同學將在社群導師指導下,按計劃完成開發工作,並將成果貢獻給社群。社群評估學生的完成度,主辦方根據評估結果發放活動獎金給學生。這是同學們是未來畢業簡歷上濃墨重彩的一筆,也是邁向頂尖開發者的閃亮起點。
| 日期 | 階段 | | ----------- | ----------- | | 04/21-05/20 | 專案溝通期 | | 05/21-06/04 | 學生提交專案申請書 | | 06/05-06/11 | 專案申請稽核(導師) | | 06/12-06/14 | 專案申請稽核(組委會) | | 06/15 | 中選公示 | | 06/16-06/30 | 專案預熱期 | | 07/01-09/30 | 專案開發 | | 10/01-10/31 | 結項稽核 | | 11 月上旬 | 結項專案公示 |
為了方便同學們的交流,有意向參與 Seata社群開源之夏活動的同學請使用釘釘掃碼 SummerCode 暑期交流群。
期待同學們的加入,讓我們相約相遇在這個夏天!
社群推薦
對於微服務配置和微服務發現有興趣的同學,可以嘗試填報團隊維護的另一個重磅級開源專案--Nacos,來參與開源之夏。
- 啟動!阿里巴巴程式設計之夏2022
- 雲原生混部最後一道防線:節點水位線設計
- OpenKruise v1.2:新增 PersistentPodState 實現有狀態 Pod 拓撲固定與 IP 複用
- Serverless Job——傳統任務新變革
- 首評 | 阿里雲順利完成國內首個雲原生安全成熟度評估
- Serverless Job——傳統任務新變革
- 阿里雲釋出效能測試 PTS 2.0:低成本、高效率、多場景壓測,業務穩定性保障利器
- ZooKeeper 在阿里巴巴的服務形態演進
- OpenYurt v0.7.0 版本解讀:無侵入的跨網路域解決方案 Raven
- K8s 閘道器選型初判:Nginx 還是 Envoy?
- K8s 閘道器選型初判:Nginx 還是 Envoy?
- ZooKeeper 在阿里巴巴的服務形態演進
- 面向高校 | “雲原生技術應用與實踐”示範課程專案開放申報
- 硬之城獲阿里雲首批產品生態整合認證,攜手阿里雲共建新合作
- 基於阿里雲 ASK 的 Istio 微服務應用部署初探
- Seata 1.5.1 重磅釋出,支援使用者控制檯,企業版正式免費公測
- OpenYurt v0.7.0 版本解讀:無侵入的跨網路域解決方案 Raven
- 最佳實踐|從Producer 到 Consumer,如何有效監控 Kafka
- 報名進入尾聲,趕快申請加入 sealer 開源之夏吧!
- OpenClusterManagement 開源之夏 2022 來了