What is Summer of Open Source
Summer of Open Source is a summer open source activity initiated by the "Open Source Software Supply Chain Lighting Program". It is jointly sponsored by the Institute of Software, Chinese Academy of Sciences and the openEuler community. It aims to encourage students to actively participate in the development and maintenance of open source software and promote excellent open source software. thriving community. The event unites major open source communities at home and abroad, provides project tasks for the development and maintenance of important open source software, and opens registration for college students around the world.
Students can choose the projects they are interested in to apply for, and after being selected, they will have the opportunity to personally guide the senior developers in the community. After the project is successfully completed and contributed to the community, the participants will receive a bonus for the Summer of Open Source activities and a certificate of completion.
The Seata community once again joined hands with Open Source Summer this year, and prepared 6 selected project topics, which have been published on the official website. Students are welcome to scan the code or click to read the original text to apply!
Project Description
Seata is an open source distributed transaction solution dedicated to providing high-performance and easy-to-use distributed transaction services under a microservice architecture. Before Seata was open-sourced, Seata had been playing the role of distributed data consistency middleware within the Ali economy. Seata was used in almost every transaction to help the business survive the double 11 floods over the years. Strong technical support. 2019.1 In order to create a more complete technical ecology and inclusive technical achievements, Seata officially announced that it is open source, and Seata will help users quickly implement distributed transaction solutions in the form of community co-construction. In just 3 years, the Seata community has gained 22k stars and more than 300 contributors, established a large number of enterprise benchmark users, and become the de facto standard in the field of distributed transactions.
GitHub: https://github.com/seata/seata
Official website: https://seata.io/zh-cn/
Project 1: Extending the SQL syntax support of AT mode
The current Seata AT mode SQL syntax supports the simple operations of insert/update/delete, as well as the insert into on duplicate key update syntax of MySQL. It is expected that the base class that implements InsertOrUpdateExecutor and its implementation include insert ignore into, replace into, insert select , oracle IGNORE_ROW_ON_DUPKEY_INDEX syntax support. **\
**
Mentor: Seata Committer Cao Huadong
Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640396
Project 2: Seata-server is separated from the console module and provides OpenAPI
The Seata console function is a major feature after version 1.5. It is a management entry for users to display transaction information, lock information, and subsequent manual handling of abnormal transactions. At present, the seata console logic and server are coupled in a module, and the console module needs to be independent. The server module and the console module communicate, interact and acquire data through openAPI.
Mentor: Seata Committer Wang Zhongxiang
Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640392
Project 3: Seata console configuration item page management
Modify the configuration items required by Seata from Seata's own control panel and persist it to the configuration center, complete the modification of Seata's key parameters, configure the delivery and configuration validation process, and integrate transaction-related configuration management into Seata's own control panel. Form an effective transaction closed loop.
Mentor: Seata Committer
Wang Liang Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640389
Project 4: Optimization of computing and storage separation mode
Under the separation of Seata computing and storage, Redis has become a hot Seata transaction storage mode, and its high performance is favored by the majority of users, but in this mode, the processing of java+jedis (pipeline, mulit) is used, resulting in In the case of power failure, downtime, etc., due to multiple network io and calculation, only one complete action may be left, such as the global lock may be left, resulting in data inconsistency, which is prohibitive. When changing to lua script, a series of calculations + storage can be handed over to redis, which ensures the atomicity of tc when storing data and competing for global locks, and ensures high availability and consistency in redis transaction storage mode. **\
Mentor: Seata Committer Chen Jianbin
Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640397
Project 5: Seata gRPC protocol support
Currently Seata uses a private protocol for RPC transmission. In the cloud-native environment, the use of private protocols is no longer in line with the current mainstream trends and standards, and the use of http2-based public protocols is an important step for Seata to move towards cloud-native, adding gRPC protocol. The transmission support is further abstracted in Seata's current communication module, making it backward compatible with the original Netty implementation and the gRpc extension.
Mentor: Seata Committer Zhong Zhengtao
Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640404
Item 6: Support GTS communication protocols and messages
Seata has made major changes to the protocol since version 0.7, which makes it incompatible with versions below 0.7 and internal products. Therefore, it is necessary to further support the communication protocol of internal products TXC/GTS products, so that the Seata-server side can be seamlessly compatible with two communication protocols and supports Transaction message processing of TXC/GTS, so that users who use TXC/GTS client can also use the distributed transaction service provided by Seata-server through txc-client and can seamlessly upgrade users who stay to 0.7 and below.
Mentor: Alibaba Cloud Distributed Transaction Team Zhao Xueliang
Project details: https://summer-ospp.ac.cn/#/org/prodetail/220640438 03
way of participation
Students can freely choose a project, log in to the official website to apply for the corresponding project, and the selected students will complete the development work as planned under the guidance of the community mentor, and contribute the results to the community. The community evaluates the completion of the students, and the organizer will issue bonuses to the students according to the evaluation results. This is a highlight on the resumes of the students in the future, and it is also a shining starting point for the top developers.
date | stage |
---|---|
04/21-05/20 | project communication period |
05/21-06/04 | Student submits program application |
06/05-06/11 | Project Application Review (Tutor) |
06/12-06/14 | Project Application Review (Organizing Committee) |
06/15 | Announcement |
06/16-06/30 | Project warm-up period |
07/01-09/30 | Project Development |
10/01-10/31 | Closing review |
early November | Closing project announcement |
In order to facilitate the exchange of students, students who intend to participate in the Seata community open source summer activities, please use Dingding to scan the code SummerCode summer exchange group.
Looking forward to the students joining us, let's meet in this summer!
community recommendation
For students who are interested in microservice configuration and microservice discovery, you can try to fill in another heavyweight open source project maintained by the team-Nacos, to participate in the summer of open source.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。