Seata x 2022 開源之夏 ,一起來做開源達人!

語言: CN / TW / HK

640.png

開源之夏是什麼

開源之夏是由“開源軟體供應鏈點亮計劃”發起的暑期開源活動,由中國科學院軟體研究所與 openEuler 社群聯合主辦,旨在鼓勵在校學生積極參與開源軟體的開發維護,促進優秀開源軟體社群的蓬勃發展。活動聯合國內外各大開源社群,針對重要開源軟體的開發與維護提供專案任務,並面向全球高校學生開放報名。

學生可自主選擇感興趣的專案進行申請,並在中選後獲得社群資深開發者親自指導的機會。專案成功結項並貢獻給社群後,參與者將獲得開源之夏活動獎金和結項證書。

Seata 社群今年再度與開源之夏攜手,並準備了 6 項精選專案課題,現已公佈至官網,歡迎同學們掃碼或點選閱讀原文報名申請!

1.png

專案簡介

Seata 是一款開源的分散式事務解決方案,致力於在微服務架構下提供高效能和簡單易用的分散式事務服務。在 Seata 開源之前,Seata 在阿里經濟體內部一直扮演著分散式資料一致性中介軟體的角色,幾乎每筆交易都要使用 Seata,幫助業務平穩的度過歷年的雙 11 洪荒流量,對業務進行了有力的技術支撐。2019.1 為了打造更加完善的技術生態和普惠技術成果,Seata 正式宣佈對外開源,Seata 將以社群共建的形式幫助使用者快速的落地分散式事務解決方案。短短 3 年間,Seata 社群已經收穫了 22k star 和超 300 名 contributor,樹立了一大批企業標杆使用者,成為了分散式事務領域的事實標準。 

GitHub:https://github.com/seata/seata

官網:https://seata.io/zh-cn/

專案一:擴充套件 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 暑期交流群。

2.jpg

期待同學們的加入,讓我們相約相遇在這個夏天!

社群推薦

對於微服務配置和微服務發現有興趣的同學,可以嘗試填報團隊維護的另一個重磅級開源專案--Nacos,來參與開源之夏。

https://nacos.io/zh-cn/blog/iscas2022.html