GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - lowcodecloud/dubbo: Apache Dubbo is a high-performance, java based, open source RPC framework.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

6,694 Commits
6,694 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.mvn/wrapper
.mvn/wrapper
 
 
codestyle
codestyle
 
 
dubbo-build-tools
dubbo-build-tools
 
 
dubbo-cluster
dubbo-cluster
 
 
dubbo-common
dubbo-common
 
 
dubbo-compatible
dubbo-compatible
 
 
dubbo-compiler
dubbo-compiler
 
 
dubbo-config
dubbo-config
 
 
dubbo-configcenter
dubbo-configcenter
 
 
dubbo-container
dubbo-container
 
 
dubbo-demo
dubbo-demo
 
 
dubbo-dependencies-bom
dubbo-dependencies-bom
 
 
dubbo-dependencies
dubbo-dependencies
 
 
dubbo-distribution
dubbo-distribution
 
 
dubbo-filter
dubbo-filter
 
 
dubbo-kubernetes
dubbo-kubernetes
 
 
dubbo-maven-plugin
dubbo-maven-plugin
 
 
dubbo-metadata
dubbo-metadata
 
 
dubbo-metrics
dubbo-metrics
 
 
dubbo-monitor
dubbo-monitor
 
 
dubbo-native-plugin
dubbo-native-plugin
 
 
dubbo-native
dubbo-native
 
 
dubbo-plugin
dubbo-plugin
 
 
dubbo-registry
dubbo-registry
 
 
dubbo-remoting
dubbo-remoting
 
 
dubbo-rpc
dubbo-rpc
 
 
dubbo-serialization
dubbo-serialization
 
 
dubbo-spring-boot
dubbo-spring-boot
 
 
dubbo-test
dubbo-test
 
 
dubbo-xds
dubbo-xds
 
 
.artifacts
.artifacts
 
 
.asf.yaml
.asf.yaml
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.licenserc.yaml
.licenserc.yaml
 
 
CHANGES.md
CHANGES.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Jenkinsfile
Jenkinsfile
 
 
Jenkinsfile.sonar
Jenkinsfile.sonar
 
 
LICENSE
LICENSE
 
 
NOTICE
NOTICE
 
 
PULL_REQUEST_TEMPLATE.md
PULL_REQUEST_TEMPLATE.md
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
codecov.yml
codecov.yml
 
 
licenseCheck.sh
licenseCheck.sh
 
 
mvnw
mvnw
 
 
mvnw.cmd
mvnw.cmd
 
 
pom.xml
pom.xml
 
 

Repository files navigation

Apache Dubbo Project

Build and Test For PR Codecov Maven License Average time to resolve an issue Percentage of issues still open Tweet Twitter Follow Gitter

Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit the official site for the quick start guide and documentation, as well as the wiki for news, FAQ, and release notes.

We are now collecting Dubbo user info to help us to improve Dubbo further. Kindly support us by providing your usage information on issue#9436: Wanted: who's using dubbo, thanks :)

Architecture

Architecture

Features

  • Transparent interface based RPC
  • Intelligent load balancing
  • Automatic service registration and discovery
  • High extensibility
  • Runtime traffic routing
  • Visualized service governance

Getting started

The following code snippet comes from Dubbo Samples. You may clone the sample project and step into the dubbo-samples-api subdirectory before proceeding.

git clone https://github.com/apache/dubbo-samples.git
cd dubbo-samples/dubbo-samples-api

There's a README file under dubbo-samples-api directory. We recommend referencing the samples in that directory by following the below-mentioned instructions:

Maven dependency

<properties>
    <dubbo.version>3.0.10</dubbo.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo</artifactId>
        <version>${dubbo.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-dependencies-zookeeper</artifactId>
        <version>${dubbo.version}</version>
        <type>pom</type>
    </dependency>
</dependencies>

Define service interfaces

package org.apache.dubbo.samples.api;

public interface GreetingsService {
    String sayHi(String name);
}

See api/GreetingsService.java on GitHub.

Implement service interface for the provider

package org.apache.dubbo.samples.provider;

import org.apache.dubbo.samples.api.GreetingsService;

public class GreetingsServiceImpl implements GreetingsService {
    @Override
    public String sayHi(String name) {
        return "hi, " + name;
    }
}

See provider/GreetingsServiceImpl.java on GitHub.

Start service provider

package org.apache.dubbo.samples.provider;


import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.samples.api.GreetingsService;

import java.util.concurrent.CountDownLatch;

public class Application {
    private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");

    public static void main(String[] args) throws Exception {
        ServiceConfig<GreetingsService> service = new ServiceConfig<>();
        service.setApplication(new ApplicationConfig("first-dubbo-provider"));
        service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
        service.setInterface(GreetingsService.class);
        service.setRef(new GreetingsServiceImpl());
        service.export();

        System.out.println("dubbo service started");
        new CountDownLatch(1).await();
    }
}

See provider/Application.java on GitHub.

Build and run the provider

mvn clean package
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.provider.Application exec:java

Call remote service in the consumer

package org.apache.dubbo.samples.client;


import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.samples.api.GreetingsService;

public class Application {
    private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");

    public static void main(String[] args) {
        ReferenceConfig<GreetingsService> reference = new ReferenceConfig<>();
        reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
        reference.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
        reference.setInterface(GreetingsService.class);
        GreetingsService service = reference.get();
        String message = service.sayHi("dubbo");
        System.out.println(message);
    }
}

See client/Application.java on GitHub.

Build and run the consumer

mvn clean package
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.client.Application exec:java

The consumer will print out hi, dubbo on the screen.

Next steps

  • Your first Dubbo application - A 101 tutorial to reveal more details, with the same code above.
  • Dubbo user manual - How to use Dubbo and all its features.
  • Dubbo developer guide - How to involve in Dubbo development.
  • Dubbo admin manual - How to admin and manage Dubbo services.

Building

If you want to try out the cutting-edge features, you can build with the following commands. (Java 1.8 is needed to build the master branch)

  mvn clean install

Contact

  • Mailing list:

    • dev list: for dev/user discussion. subscribe, unsubscribe, archive, guide
  • Bugs: Issues

  • Gitter: Gitter channel

  • Twitter: @ApacheDubbo

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

How can I contribute?

  • Take a look at issues with tags marked Good first issue or Help wanted.
  • Join the discussion on the mailing list, subscription guide.
  • Answer questions on issues.
  • Fix bugs reported on issues, and send us a pull request.
  • Review the existing pull request.
  • Improve the website, typically we need
    • blog post
    • translation on documentation
    • use cases around the integration of Dubbo in enterprise systems.
  • Improve the dubbo-admin/dubbo-monitor.
  • Contribute to the projects listed in ecosystem.
  • Other forms of contribution not explicitly enumerated above.
  • If you would like to contribute, please send an email to [email protected] to let us know!

Reporting bugs

Please follow the template for reporting any issues.

Reporting a security vulnerability

Please report security vulnerabilities to us privately.

Dubbo ecosystem

  • Dubbo Ecosystem Entry - A GitHub group dubbo to gather all Dubbo relevant projects not appropriate in apache group yet
  • Dubbo Website - Apache Dubbo official website
  • Dubbo Samples - samples for Apache Dubbo
  • Dubbo Spring Boot - Spring Boot Project for Dubbo
  • Dubbo Admin - The reference implementation for Dubbo admin
  • Dubbo Awesome - Dubbo's slides and video links in Meetup

Language

  • Go (recommended)
  • Node.js
  • Python
  • PHP
  • Erlang

License

Apache Dubbo software is licenced under the Apache License Version 2.0. See the LICENSE file for details.

About

Apache Dubbo is a high-performance, java based, open source RPC framework.

dubbo.apache.org/

Resources

Readme
License

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.