You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Xiaolong Zuo f66587fb32
Merge pull request #416 from flystar32/master
support switch Nacos  Discovery/Config enabled
6 years ago
.circleci ignore failure testcase 6 years ago
.github/ISSUE_TEMPLATE Update issue templates 6 years ago
.mvn upload maven-wrapper.jar to fix error in execute mvnw & modify branch name in README 7 years ago
spring-cloud-alibaba-coverage remove sms,schedulerx,oss modules in coverage 6 years ago
spring-cloud-alibaba-dependencies update nacos and fescar version and format some testcase 6 years ago
spring-cloud-alibaba-docs update sentinel docs 6 years ago
spring-cloud-alibaba-dubbo Polish : spring-cloud-incubator/spring-cloud-alibaba#409 : Register the Dubbo REST services as Spring Cloud services in non-web environment 6 years ago
spring-cloud-alibaba-examples Merge pull request #413 from mercyblitz/master 6 years ago
spring-cloud-alibaba-fescar Polish : spring-cloud-incubator/spring-cloud-alibaba/issues#377 : Use Apache Dubbo 2.7.x as Spring Cloud Infrastructure 6 years ago
spring-cloud-alibaba-nacos-config delete useless field and add additional configuration metadata 6 years ago
spring-cloud-alibaba-nacos-config-server aggregate multi report 6 years ago
spring-cloud-alibaba-nacos-discovery nacos discovery endpoint support spring.cloud.nacos.discovery.enabled , Polish #411 6 years ago
spring-cloud-alibaba-sentinel add switch to instance CommonFilter in SentinelProperties 6 years ago
spring-cloud-alibaba-sentinel-datasource Merge pull request #367 from zhendong590/master 6 years ago
spring-cloud-alibaba-sentinel-zuul modify sentinel zuul prefix configuration properties 6 years ago
spring-cloud-alibaba-test Update to 0.2.2.BUILD-SNAPSHOT 6 years ago
spring-cloud-alicloud-acm add more test case 6 years ago
spring-cloud-alicloud-ans support EnableDiscoveryClient 6 years ago
spring-cloud-alicloud-context add ACM test case 6 years ago
spring-cloud-alicloud-oss aggregate multi report 6 years ago
spring-cloud-alicloud-schedulerx aggregate multi report 6 years ago
spring-cloud-alicloud-sms remove useless log 6 years ago
spring-cloud-starter-alibaba Polish spring-cloud-incubator/spring-cloud-alibaba#379 : Add Dubbo Spring Cloud Starter 6 years ago
spring-cloud-starter-alicloud replace cobertura to jacoco 6 years ago
spring-cloud-stream-binder-rocketmq aggregate multi report 6 years ago
.codecov.yml update codecov settings 6 years ago
.gitignore fixes #87. 6 years ago
.travis.yml add Travis CI 6 years ago
CODE_OF_CONDUCT.adoc Create CODE_OF_CONDUCT.adoc 6 years ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 6 years ago
LICENSE Initial commit 7 years ago
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md 6 years ago
README-zh.md Update README-zh.md 6 years ago
README.md Make concise 6 years ago
Roadmap-zh.md Update Roadmap-zh.md 6 years ago
Roadmap.md Update Roadmap.md 6 years ago
mvnw hello, spring cloud alibaba 7 years ago
mvnw.cmd hello, spring cloud alibaba 7 years ago
pom.xml add spring cloud gateway bom 6 years ago

README.md

Spring Cloud Alibaba

CircleCI Maven Central Codecov License

A project maintained by Alibaba.

See the 中文文档 for Chinese readme.

Spring Cloud Alibaba provides a one-stop solution for distributed application development. It contains all the components required to develop distributed applications, making it easy for you to develop your applications using Spring Cloud.

With Spring Cloud Alibaba, you only need to add some annotations and a small amount of configurations to connect Spring Cloud applications to the distributed solutions of Alibaba, and build a distributed application system with Alibaba middleware.

Features

  • Flow control and service degradationFlow control for HTTP services is supported by default. You can also customize flow control and service degradation rules using annotations. The rules can be changed dynamically.
  • Service registration and discoveryService can be registered and clients can discover the instances using Spring-managed beans, auto integration Ribbon.
  • Distributed configurationsupport for externalized configuration in a distributed system, auto refresh when configuration changes.
  • Event-drivensupport for building highly scalable event-driven microservices connected with shared messaging systems.
  • Distributed Transactionsupport for distributed transaction solution with high performance and ease of use.
  • Alibaba Cloud Object Storagemassive, secure, low-cost, and highly reliable cloud storage services. Support for storing and accessing any type of data in any application, anytime, anywhere.
  • Alibaba Cloud SchedulerXaccurate, highly reliable, and highly available scheduled job scheduling services with response time within seconds.
  • Alibaba Cloud SMS A messaging service that covers the globe, Alibaba SMS provides convenient, efficient, and intelligent communication capabilities that help businesses quickly contact their customers.

For more features, please refer to Roadmap.

Components

Sentinel: Sentinel takes "traffic flow" as the breakthrough point, and provides solutions in areas such as flow control, concurrency, circuit breaking, and load protection to protect service stability.

Nacos: An easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

RocketMQA distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

DubboA high-performance, Java based open source RPC framework.

FescarA distributed transaction solution with high performance and ease of use for microservices architecture.

Alibaba Cloud ACMAn application configuration center that enables you to centralize the management of application configurations, and accomplish real-time configuration push in a distributed environment.

Alibaba Cloud OSS: An encrypted and secure cloud storage service which stores, processes and accesses massive amounts of data from anywhere in the world.

Alibaba Cloud SMS: A messaging service that covers the globe, Alibaba SMS provides convenient, efficient, and intelligent communication capabilities that help businesses quickly contact their customers.

Alibaba Cloud SchedulerX:accurate, highly reliable, and highly available scheduled job scheduling services with response time within seconds..

For more features please refer to Roadmap.

How to build

  • master branch: Corresponds to Spring Boot 2.x. JDK 1.8 or later versions are supported.
  • 1.x branch: Corresponds to Spring Boot 1.x, JDK 1.7 or later versions are supported.

Spring Cloud uses Maven for most build-related activities, and you should be able to get off the ground quite quickly by cloning the project you are interested in and typing:

./mvnw install

How to Use

Add maven dependency

Version 0.2.1.RELEASE is compatible with the Spring Cloud Finchley. Version 0.1.1.RELEASE is compatible with the Spring Cloud Edgware.

These artifacts are available from Maven Central and Spring Release repository via BOM:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>0.2.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

add the module in dependencies.

If you want to use the latest BUILD-SNAPSHOT version, add Spring Snapshot Repository in pom.xml , Attention: BUILD-SNAPSHOT may be updated in any time

<repositories>
    <repository>
        <id>spring-snapshot</id>
        <name>Spring Snapshot Repository</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

Reference Doc

Contents

Nacos Config

Nacos Discovery

ACM

Examples

A spring-cloud-alibaba-examples module is included in our project for you to get started with Spring Cloud Alibaba quickly. It contains an example, and you can refer to the readme file in the example project for a quick walkthrough.

Examples

Sentinel Example

Nacos Config Example

Nacos Discovery Example

RocketMQ Example

Alibaba Cloud OSS Example

Version control guidelines

The version number of the project is in the form of x.x.x, where x is a number, starting from 0, and is not limited to the range 0~9. When the project is in the incubator phase, the version number is 0.x.x.

As the interfaces and annotations of Spring Boot 1 and Spring Boot 2 have been changed significantly in the Actuator module, and spring-cloud-commons is also changed quite a lot from 1.x.x to 2.0.0, we maintain two different branches to support Spring Boot 1 and Spring Boot 2:

  • 0.1.x for Spring Boot 1
  • 0.2.x for Spring Boot 2

During the incubation period, the version management of the project will follow these rules

  • Functional updates will be reflected in the 3rd number of the version, for example, the next version of 0.1.0 will be 0.1.1.

Code of Conduct

This project is a sub-project of Spring Cloud, it adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Code Conventions and Housekeeping

None of these is essential for a pull request, but they will all help. They can also be added after the original pull request but before a merge.

Use the Spring Framework code format conventions. If you use Eclipse you can import formatter settings using the eclipse-code-formatter.xml file from the Spring Cloud Build project. If using IntelliJ, you can use the Eclipse Code Formatter Plugin to import the same file.

Make sure all new .java files to have a simple Javadoc class comment with at least an @author tag identifying you, and preferably at least a paragraph on what the class is for.

Add the ASF license header comment to all new .java files (copy from existing files in the project)

Add yourself as an @author to the .java files that you modify substantially (more than cosmetic changes).

Add some Javadocs and, if you change the namespace, some XSD doc elements.

A few unit tests would help a lot as wellsomeone has to do it.

If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project).

When writing a commit message please follow these conventions, if you are fixing an existing issue please add Fixes gh-XXXX at the end of the commit message (where XXXX is the issue number).

Contact Us

Mailing list is recommended for discussing almost anything related to spring-cloud-alibaba.

spring-cloud-alibaba@googlegroups.com:You can ask questions here if you encounter any problem when using or developing spring-cloud-alibaba.