The source code parsing

In our first article, we covered the details of SOFARegistry source code parsing and how to participate in it. If you missed it, you can click back.

In the past week since the launch of the event, we have received a lot of suggestions and feedbacks from the community. Today, WE would like to share them with you.

Activity in progress

Let’s take a look at what’s going on this week.

This SOFARegistry source code parsing task has been published in 9 cases.

As of March 16, there are only 2 unclaimed tasks for source code parsing, and the remaining tasks are in progress. Thank you for your contribution! 👏

The completion of the source code parsing task of each difficulty is as follows. We track the progress of the task through these issues. Welcome to claim the source code parsing task that has not been claimed.

Unclaimed task

Communication data compression: github.com/sofastack/s…

Non-destructive operation and maintenance: github.com/sofastack/s…

“Project Introduction 💁🏻♂️”

SOFARegistry is ant Open source’s production-grade, time-sensitive, and highly available service registry. SOFARegistry originated from ConfigServer on Taobao. Over the past decade, with the business development of Ant Group, the registry architecture has evolved into the fifth generation.

SOFARegistry now not only fully serves Ant group’s own business, but also serves a wide range of ant fintech partners, as well as the open source ecosystem. SOFARegistry uses an AP architecture to support second-level time-sensitive push and a layered architecture to support unlimited horizontal scaling.

“Future plans 📄”

Since the release of the SOFARegistry source code parsing task, people have been asking when other project components in the SOFAStack family they care about will release their source code parsing plans.

“Next Activity notice 🪧”

Layotto and SOFAArk source code parsing task is in preparation, is expected to meet you soon, friends please look forward to it.

Before the task is released, I will give you a brief introduction to the two projects and Contributor cultivation task. You can learn about it first, so that you can participate in the source code analysis task more quickly.

Layotto

Layotto is an app runtime developed using Golang to help developers quickly build cloud-native apps, helping decouple apps and infrastructure. It provides various distributed capabilities for applications, such as state management, configuration management, event publishing and subscription capabilities, to simplify application development.

Layotto uses open source MOSN as the base. Besides providing distributed capability, Layotto also provides the traffic management capability of Service Mesh.

Project Home page:

mosn.io/layotto

Making address:

Github.com/mosn/layott…

Contributor cultivation task:

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 APIS

  • Upgrade the WASM Demo developed by Rust

  • Implement distributed auto-increment ID API with mysql, Consul, or LEAF

Hard​
  • Let Layotto support dynamic loading of WASM through interface calls to support dynamic scheduling in FaaS scenarios

“Detailed Reference” :

Github.com/mosn/layott…

SOFAArk

SOFAArk is a lightweight Java-based class isolation container that provides class isolation and application (module) merge deployment capabilities.

In the process of large-scale software development, it is usually recommended to adopt the development mode of plug-in of underlying functions and modularization of business functions, in order to achieve the advantages of low coupling, high cohesion and function reuse. Based on this, SOFAArk provides a set of standardized plug-in and modular development solutions. The product capabilities mainly include:

  • The class loading model is defined, and the low-level plug-ins and business applications (modules) are isolated from each other during runtime. Single plug-ins and applications (modules) are loaded by different Classloaders, which can effectively avoid package conflicts between each other and improve the function reuse capability of plug-ins and modules.
  • Define plug-in development specifications and provide Maven packaging tools to package multiple binary packages into plug-ins (Ark Plugin, hereinafter referred to as Plugin) easily and quickly.
  • Define module development specifications and provide Maven packaging tools to package applications into modules easily and quickly (Ark Biz, Biz)
  • Provide standard programming interfaces for Plugin and Biz, including services, events, extension points and other mechanisms
  • Support for the combined deployment of multiple Biz, packaging multiple Biz into executable Fat Jars at development stage, or dynamically installing and uninstalling Biz at runtime using API or configuration center (Zookeeper)
  • Based on these capabilities, SOFAArk can help resolve scenarios such as dependency package conflicts and multiple application (module) combined deployment.

Project Home page:

www.sofastack.tech/projects/so…

Making address:

Github.com/sofastack/s…