What fun distributed open source frameworks does Alibaba have?

Preface

The open source project was originally initiated by some foreign engineers. The most famous open source community and private software project hosting platform GitHub, founded by foreign Chris Wanstrath, has changed from a developer community to a free open source code hosting platform; more and more companies in China Contributing some excellent open source frameworks developed by ourselves, Alibaba, Tencent, Baidu, NetEase, Dangdang, Ctrip and other companies have open sourced some excellent projects on github. Among them, Alibaba has many open source projects. Almost all domestic companies have used some of Alibaba's projects, such as druid and fastjson. At the moment when distributed is popular, Ali also has many distributed open source projects. Today, I will mainly collect Ali distributed open source projects.

1. Dubbo, a distributed RPC service framework

Apache Dubbo (incubating) | is a high-performance and lightweight open source Java RPC framework from Alibaba. It provides three core capabilities: interface-oriented remote method invocation, intelligent fault tolerance and load balancing, and automatic service registration and Find.

The high-performance and excellent service framework enables applications to implement service output and input functions through high-performance RPC, and can be seamlessly integrated with the Spring framework. Many domestic small and medium companies are using Alibaba's dubbo framework to build distributed projects.

github address : https://github.com/alibaba/dubbo

二、Spring Cloud Alibaba

Spring Cloud Alibaba, a one-stop solution for distributed application service development, is an upgrade and transformation of Alibaba based on Spring Cloud and adding Ali’s own components on top of it. The project contains the necessary components for the development of distributed application services, which is convenient Developers can easily use these components to develop distributed application services through the Spring Cloud programming model. Using Spring Cloud Alibaba, you only need to add some annotations and a small amount of configuration to connect Spring Cloud applications to Ali's distributed application solutions, and quickly build a distributed application system through Ali's middleware. Students who have used SpringCloud development will not be unfamiliar with SpringCloudAlibaba.

github address : https://github.com/spring-cloud-incubator/spring-cloud-alibaba

Three, dynamic service discovery, configuration and service management platform Nacos

Nacos is a management platform developed by Alibaba that integrates registration center and configuration center. Nacos provides a set of simple and easy-to-use feature sets to help you realize dynamic service discovery, service configuration management, service and traffic management.

Nacos helps you build, deliver and manage microservice platforms more agile and easily. Nacos is a service infrastructure that builds modern application architectures (such as microservice paradigm, cloud native paradigm) centered on "services".

github address : https://nacos.io/en-us/

Fourth, high-availability traffic management framework Sentinel

Sentinel is a lightweight microservice-oriented flow control framework developed by Ali open source, which protects the stability of services from multiple dimensions such as flow control, fuse degradation, and system load protection.

As long as the code defined by the Sentinel API is a resource, it can be protected by Sentinel. In most cases, you can use method signatures, URLs, or even service names as resource names to identify resources.

github address : https://github.com/alibaba/Sentinel

Five, distributed link tracking middleware SOFATracer

There are many distributed link tracing solutions. SOFATracer is an open source component of Ali for distributed system call tracing. Through a unified traceId, various network call conditions in the call link are recorded in a log to achieve Perspective of the purpose of network calls.

These logs can be used for rapid fault discovery, service management, etc.

github address : https://github.com/alipay/sofa-tracer

Six, high-performance Java RPC framework SOFARPC

In addition to Dubbo, Alibaba’s open source RPC framework also has Ant Financial’s SOFARPC. SOFARPC is a highly scalable, high-performance, production-level Java RPC framework. SOFARPC has experienced more than ten years and five generations of development in Ant Financial. SOFARPC is committed to simplifying RPC calls between applications and providing applications with a convenient, transparent, stable and efficient point-to-point remote service call solution. In order to facilitate the expansion of functions for users and developers, SOFARPC provides a wealth of model abstraction and extensible interfaces, including filters, routing, load balancing, etc. At the same time, it provides rich microservice governance solutions around the SOFARPC framework and its surrounding components.

github address : https://github.com/alipay/sofa-rpc

7. OpenMessaging, a cloud-oriented distributed messaging standard

OpenMessaging was initiated by Alibaba and co-founded with Yahoo, Didi Chuxing, and Streamlio. It aims to create vendor-independent and platform-independent application development standards in the field of distributed messaging and stream processing.

github address : https://github.com/openmessaging/openmessaging-java

8. P2P file distribution system Dragonfly

Dragonfly (Dragonfly) is a P2P file distribution system developed by Alibaba. It is used to solve the problems of time-consuming, low success rate, and bandwidth waste in large-scale file distribution scenarios. Significantly improve business capabilities such as release deployment, data warm-up, and large-scale container image distribution.

The open source version of Dragonfly can be used for P2P file distribution, container image distribution, local speed limit, disk capacity pre-check, etc. It supports a variety of container technologies, without any modification to the container itself, the image distribution can be up to 57 times faster than the natvie method, and the registry network outgoing traffic is reduced by more than 99.5%. Our company uses this item for log storage and search very convenient.

github address : https://github.com/alibaba/Dragonfly

Nine, the development framework SOFABoot based on Spring Boot

SOFABoot is an open source Spring Boot-based R&D framework developed by Ant Financial. Based on Spring Boot, SOFABoot provides capabilities such as Readiness Check, class isolation, log space isolation, etc. While enhancing Spring Boot, SOFABoot provides users with the ability to easily use SOFAStack-related middleware in Spring Boot.

github address : https://github.com/alipay/sofa-boot

10. Distributed data layer TDDL

In a distributed system, it is often necessary to implement read-write separation, dynamic database configuration, etc.; supporting databases to implement some solutions for distributed systems, TDDL is a jdbc datasource implementation based on centralized configuration, with active and standby, read-write separation, dynamic Database configuration and other functions.

github address : https://github.com/alibaba/tb_tddl

11. Lightweight distributed data access layer CobarClient

I believe that everyone has used MyBatis. Persistence layer middleware, with multi-level cache implementation supporting Spring/SpringBoot plug-in is more convenient to use; Cobar Client is a lightweight distributed data access layer (DAL) based on iBatis (renamed MyBatis) and Spring framework implementation.

github address : https://github.com/alibaba/cobarclient

Twelve, redis java client Tedis

Redis is a very practical and efficient NoSQL (non-relational database) that can effectively solve some of the access pressure between the system and the database, and provides some other more important functions such as the implementation of distributed locks.

Tedis is another java client for redis. Tedis's goal is to create a highly available Redis solution that can be used directly in the production environment.

github address : https://github.com/justified/tedis

to sum up

With more and more open source projects in the country, and the development of science and technology, the strength is getting stronger and stronger. Understanding and participating in open source projects is the strength certification and pride of every technical person. Even if we fail to participate in open source projects, or even fail to use them in our work, at least we can learn about these projects.

 


Now that I have read the entire article, I believe it will be helpful to you. Originality is not easy, stay away from the party.

Click on the [Reward] editor below, or follow the official account to give support. Every encouragement from you will be a great motivation for the editor.


Original public account of the same name:   Program Vision

 

Guess you like

Origin blog.csdn.net/Follow_24/article/details/109248987