[OSPP 2023 & Apache ShenYu task is coming | Invite you to explore the high performance gateway]
#
OSPP 2023 & Apache ShenYu e2e task is coming#
OSPP 2023Open Source Summer is a summer open source activity initiated and long-term supported by the "Open Source Software Supply Chain Lighting Project" of the Institute of Software, Chinese Academy of Sciences. It aims to encourage students to actively participate in the development and maintenance of open source software, and to cultivate and discover more excellent developers Promote the vigorous development of excellent open source software communities and help the construction of open source software supply chains.
#
Participate in Open Source SummerOpen source summer 2023 student registration officially opens on April 29! Students can select projects on the official website of Open Source Summer https://summer-ospp.ac.cn/, communicate with mentor, prepare project application materials, and submit applications.
#
Apache ShenYu IntroductionApache ShenYu is a Java gateway that supports multi-language, multi-protocol (Dubbo, SpringCloud, gRPC, Motan, SofaTars, BRPC), plug-in design, highly dynamic configuration, and highly self-developed. Built-in rich plug-in support, authentication, current limit, circuit breaker, firewall, etc. The traffic configuration is dynamic and the performance is extremely high. Support cluster deployment, support A/B Test, blue-green release and other functions.
The Apache ShenYu community is an open source project community organized by the Apache Foundation. Up to now, a total of 340 contributors have gathered around the world. They participate in ShenYu in the spirit of "Apache Way", make contributions to ShenYu, and grow together with ShenYu!
#
Apache ShenYu E2E Project IntroductionThe task threshold will not be too high, and the whole process will be guided by community tutors.
#
Project BackgroundShenyu is an asynchronous, high-performance, cross-language, responsive API
gateway, but currently Shenyu lacks the necessary end to end engine and test case, end to end test is an important part of the shenyu project as a whole.
#
Required SkillsUnderstand the technical architecture of Apache ShenYu, understand the end-to-end testing framework of Apache ShenYu, be able to use existing code to write TestSpec, need to understand shenyu's data synchronization framework including websocket, http, zookeeper, nacos, apollo and other middleware and algorithms, be able to write docker-compose, understand the necessary tools for e2e development such as testcontainer and docker.
#
TasksWrite shenyu end-to-end test framework, write shenyu end-to-end test engine (difficulty: high)
It is necessary to realize the storage of different databases (mysql, oracle, postgres, h2) of admin in e2e to ensure the correct data storage
It is necessary to ensure that the data can be correctly added to shenyu-admin through the configuration method and shenyu-client registration method (difficulty: high)
Use different data synchronization methods (websocket, http, zookeeper, nacos, apollo) to ensure correct data synchronization from admin to gateway
Add end-to-end test cases of alibaba dubbo, apache dubbo, sofa, tars, motan related proxy plug-ins
Write a specific TestSpec to modify the admin dictionary, metadata, plug-ins, selectors, and rule data, and perform a regression test after the modification to ensure that the calling logic is correct (difficulty: high)
Write the corresponding github ci file to ensure that the ci process works normally in github action
#
Project Output RequirementsWrite the corresponding e2e test case
Use e2e to realize the test that admin uses different databases to store data
Realize the end-to-end test of synchronizing data in different data synchronization methods
Edit the corresponding e2e document
#
Project technical requirementsFollow shenyu code specification
In-depth understanding of spring webflux
In-depth understanding of shenyu's data synchronization principle
In-depth understanding of shenyu client registration data principles
In-depth understanding of shenyu's end-to-end test engine and framework
#
Project Repository#
Project Website#
Other InformationProject Difficulty: Advanced
Mentor email: hefengen@apache.org
#
What can you gain from the event?#
Development experienceParticipate in open source projects, become a contributor to large-scale open source projects, understand multi-field and multi-difficulty gradient tasks, give you rich practical experience in large-scale open source projects, and it is also a good opportunity to exercise your development capabilities!
#
Organizing committee awardsYou will get a completion bonus and a completion certificate: Students who pass the completion assessment will have the opportunity to receive an outstanding student certificate.
There are two difficulty levels in this competition, and different levels correspond to different bonuses:
Advanced Difficulty: RMB 12,000 before tax for student completion bonus
Basic difficulty: RMB 8,000 before tax for student completion bonus
The prize money for this competition is provided by the Summer of Open Source Organizing Committee.
#
Apache ShenYu community in-depth communicationParticipate in the Summer of Open Source @Apache ShenYu project, you will be able to communicate with 300+ contributors in the Apache ShenYu community around the world.
Participate in the Summer of Open Source @Apache ShenYu project, you will become an Apache ShenYu contributor, and after continuing to contribute, you will have the opportunity to become an Apache ShenYu Committer.
#
Quickly Participate in Open Source SummerOpen Source Summer 2023 community projects will start accepting students to participate in project applications from April 29th. Welcome to communicate with the tutors and prepare project application materials through the contact information above.
#
shenyu-ingress-controller ability increased#
Project backgroundKubernetes Controller is an important step in the Apache ShenYu Cloud native construction. The community is building Shenyu-Ingress-Controller to enable the docking of K8s ingress resources. However, currently the shenyu-ingress-controller feature is relatively simple and only supports the resource definition native to K8s ingress.
This project needs to extend Shenyu-Ingress-Controller based on annotation to inherit the rich native functions of Apache ShenYu as much as possible.
#
Project output requirementsEnhanced shenyu-ingress-controller abilities
Complete the core code writing
Complete corresponding unit test and integration test
Complete related documentation
#
Technical requirements of the project- Familiar with Java and Spring Framework
- Be familiar with Kubernetes
- Understand the API gateway
#
Project results warehouse#
Project addresshttps://summer-ospp.ac.cn/org/prodetail/2362f0183
#
Other information- Project difficulty: Advanced
- Email: jooks@apache.org
#
OSPP 2023 & Apache ShenYu Tcp proxy plugin is coming#
OSPP 2023Open Source Summer is a summer open source activity initiated and long-term supported by the "Open Source Software Supply Chain Lighting Project" of the Institute of Software, Chinese Academy of Sciences. It aims to encourage students to actively participate in the development and maintenance of open source software, and to cultivate and discover more excellent developers Promote the vigorous development of excellent open source software communities and help the construction of open source software supply chains.
#
Participate in Open Source SummerOpen source summer 2023 student registration officially opens on April 29! Students can select projects on the official website of Open Source Summer https://summer-ospp.ac.cn/, communicate with mentor, prepare project application materials, and submit applications.
#
Apache ShenYu IntroductionApache ShenYu is a Java gateway that supports multi-language, multi-protocol (Dubbo, SpringCloud, gRPC, Motan, SofaTars, BRPC), plug-in design, highly dynamic configuration, and highly self-developed. Built-in rich plug-in support, authentication, current limit, circuit breaker, firewall, etc. The traffic configuration is dynamic and the performance is extremely high. Support cluster deployment, support A/B Test, blue-green release and other functions.
#
Apache ShenYu Tcp Proxy TaskThe task threshold will not be too high, and the whole process will be guided by community tutors.
#
Project BackgroundThis project is mainly to realize the proxy of different communication protocols (TCP/UDP/WebSocket, etc.) more flexibly and extensibly through the plug-in method, so as to enhance ShenYu's communication proxy function. The project provides a management background that can manually configure and forward downstream IP, PORT and other data. At the same time, it supports downstream services to automatically register with the ShenYu gateway through the ShenYu client. In addition, it also supports the business to provide the registration center address to complete the service discovery and registration functions. When a business request comes in, ShenYu gateway matches different communication protocol plug-ins according to different communication protocol types to complete the communication proxy.
#
Project BackgroundUnderstand Apache ShenYu's technical architecture, familiar with Java and Spring Framework, familiar with reactor and other front-end components and frameworks, familiar with API gateway, familiar with tcp, udp and other related protocols.
#
Project Output RequirementsComplete the development of proxy plug-ins such as tcp/udp/websocket
Task1: Complete the development of proxy plug-in functions for tcp/udp/websocket to proxy to downstream services;
โ Complete the development of registry monitoring metadata
Task1: Monitor business downstream service-related metadata in various registration centers (nacos/consul/zk, etc.) supported by shenyu-admin development;
โ Complete the data synchronization development of proxy plug-in related metadata
Task1: Complete the development of communication plug-in proxy related data synchronization to the gateway;
โ Completion and design service automatic discovery of related tables and background data development
Task1: Complete the design of relevant database tables;
Task2: Complete the CRUD development of related tables;
โ Complete the editing of relevant data of shenyu management background communication agent
Task1: The front end adds a new page for editing metadata related to communication agents;
Task2: Increase the back-end interface corresponding to the front-end page;
โ Complete the integration test unit test and document output of the communication protocol agent
Task1: Complete the unit test of relevant changes;
Task2: Complete the integration test of the entire function;
Task3: Complete the output of the entire function-related access documents and function introduction-related documents.
#
Project technical requirementsFamiliar with Java and Spring Framework
Familiar with front-end components and frameworks such as reactor
Familiar with API Gateway.
#
Project technical requirements#
Project Address#
Mentor email#
Quickly Participate in Open Source SummerOpen Source Summer 2023 community projects will start accepting students to participate in project applications from April 29th. Welcome to communicate with the tutors and prepare project application materials through the contact information above.