Source code analysis
In the first source code analysis activity article, we introduced the detailed introduction and specific participation methods of SOFARegistry source code analysis. Those who missed it can click to review, the activity is still in progress...
One week after the event was released, we have received a lot of suggestions and feedback from the community, and I will share with you here today.
activity progress
Let's take a look at the progress of this week's activities.
A total of 9 SOFARegistry source code analysis tasks have been released this time.
As of March 16, there are only 2 remaining unclaimed tasks in the source code analysis task, and the remaining tasks are in progress. Thank you for your contributions! 👏
The degree of completion of the source code parsing tasks of each difficulty is as follows. We track the progress of the task through these issues. Welcome to claim the source code parsing tasks that have not been taken away.
pending tasks
Communication data compression: https://github.com/sofastack/sofaregistry/issues/200
Lossless O&M: https://github.com/sofastack/sofa-registry/issues/198
"Project Introduction 💁🏻♂️"
SOFARegistry is a production-level, high-efficiency, and high-availability service registry open sourced by Ant Group. SOFARegistry originated from Taobao's ConfigServer. Over the past ten years, with the business development of Ant Group, the registry structure has evolved to the fifth generation.
At present, SOFARegistry not only fully serves Ant Group's own business, but also serves many partners with Ant Financial Technology, and is also compatible with the open source ecosystem. SOFARegistry adopts AP architecture, supports second-level timeliness push, and adopts layered architecture to support unlimited horizontal expansion.
"Future Plan 📄"
Since the release of the SOFARegistry source code analysis task, everyone has responded enthusiastically, and they are all asking when the other project components of the SOFAStack series that they care about will release the source code analysis plan.
"Announcement of the next event 🪧"
The source code analysis tasks of Layotto and SOFAArk are in preparation, and it is expected to meet with you soon, so stay tuned, friends.
Before the task is released, I will briefly introduce the two projects and the Contributor development task. You can understand it first, so that you can participate in the source code analysis task faster in the future.
Layotto
Layotto(/leɪˈɒtəʊ/) is an application runtime developed in Golang, designed to help developers quickly build cloud-native applications and decouple applications and infrastructure. It provides various distributed capabilities for applications, such as state management, configuration management, event publishing and subscription capabilities, to simplify application development.
Based on the open source MOSN, Layotto not only provides distributed capabilities, but also provides Service Mesh's ability to control traffic.
Project homepage:
GitHub address:
https://github.com/mosn/layotto
### Contributor development tasks:
Layotto
Easy
- Add unit tests for the actuator module
- Added distributed lock API for java sdk
- Develop in-memory configuration components
Medium
- Make Layotto compatible with Dapr API
- Upgrade the wasm demo developed by rust
- Implement distributed auto-increment id API with systems such as mysql, consul or leaf
Hard
- Let Layotto support dynamic loading of wasm through interface calls to support dynamic scheduling in FaaS scenarios
"Detailed reference":
https://github.com/mosn/layotto/issues/108#issuecomment-872779356
SOFAArk
SOFAArk is a lightweight class isolation container based on Java, which mainly provides class isolation and application (module) merging and deployment capabilities.
In the process of large-scale software development, the development mode of plug-in underlying functions and modular business functions is usually recommended, in order to achieve the advantages of low coupling, high cohesion, and function reuse. Based on this, SOFAArk provides a set of relatively standardized plug-in and modular development solutions. The product capabilities mainly include:
- The class loading model is defined, and the underlying plug-ins and business applications (modules) are isolated from each other at runtime. A single plug-in and application (module) are loaded by different ClassLoaders, which can effectively avoid mutual package conflicts and improve the functional complexity of plug-ins and modules. ability;
- Define plug-in development specifications, provide maven packaging tools, and easily and quickly package multiple second-party packages into plug-ins (Ark Plugin, hereinafter referred to as Plugin)
- Define module development specifications, provide maven packaging tools, and package applications into modules easily and quickly (Ark Biz, hereinafter referred to as Biz)
- Provide standard programming interface for Plugin and Biz, including services, events, extension points and other mechanisms
- Support the combined deployment of multiple Biz, package multiple Biz into executable Fat Jar during development phase, or use API or configuration center (Zookeeper) to dynamically install and uninstall Biz at runtime
- Based on the above capabilities, SOFAArk can help solve scenarios such as dependency package conflicts and multi-application (module) merged deployment.
Project homepage:
https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/
GitHub address:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。