Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

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

License

NotificationsYou must be signed in to change notification settings

mestarshine/dubbo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build StatusBuild StatusCodecovMavenLicenseAverage time to resolve an issuePercentage of issues still openTweetTwitter FollowGitter

Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit theofficial site for the quick start guide and documentation, as well as thewiki 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 onissue#1012: 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 fromDubbo Samples. You may clone the sample project and step into thedubbo-samples-api subdirectory before proceeding.

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

There's aREADME file underdubbo-samples-api directory. We recommend referencing the samples in that directory by following the below-mentioned instructions:

Maven dependency

<properties>    <dubbo.version>2.7.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

packageorg.apache.dubbo.samples.api;publicinterfaceGreetingsService {StringsayHi(Stringname);}

Seeapi/GreetingsService.java on GitHub.

Implement service interface for the provider

packageorg.apache.dubbo.samples.provider;importorg.apache.dubbo.samples.api.GreetingsService;publicclassGreetingsServiceImplimplementsGreetingsService {@OverridepublicStringsayHi(Stringname) {return"hi, " +name;    }}

Seeprovider/GreetingsServiceImpl.java on GitHub.

Start service provider

packageorg.apache.dubbo.samples.provider;importorg.apache.dubbo.config.ApplicationConfig;importorg.apache.dubbo.config.RegistryConfig;importorg.apache.dubbo.config.ServiceConfig;importorg.apache.dubbo.samples.api.GreetingsService;importjava.util.concurrent.CountDownLatch;publicclassApplication {privatestaticStringzookeeperHost =System.getProperty("zookeeper.address","127.0.0.1");publicstaticvoidmain(String[]args)throwsException {ServiceConfig<GreetingsService>service =newServiceConfig<>();service.setApplication(newApplicationConfig("first-dubbo-provider"));service.setRegistry(newRegistryConfig("zookeeper://" +zookeeperHost +":2181"));service.setInterface(GreetingsService.class);service.setRef(newGreetingsServiceImpl());service.export();System.out.println("dubbo service started");newCountDownLatch(1).await();    }}

Seeprovider/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

packageorg.apache.dubbo.samples.client;importorg.apache.dubbo.config.ApplicationConfig;importorg.apache.dubbo.config.ReferenceConfig;importorg.apache.dubbo.config.RegistryConfig;importorg.apache.dubbo.samples.api.GreetingsService;publicclassApplication {privatestaticStringzookeeperHost =System.getProperty("zookeeper.address","127.0.0.1");publicstaticvoidmain(String[]args) {ReferenceConfig<GreetingsService>reference =newReferenceConfig<>();reference.setApplication(newApplicationConfig("first-dubbo-consumer"));reference.setRegistry(newRegistryConfig("zookeeper://" +zookeeperHost +":2181"));reference.setInterface(GreetingsService.class);GreetingsServiceservice =reference.get();Stringmessage =service.sayHi("dubbo");System.out.println(message);    }}

Seeconsumer/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 outhi, dubbo on the screen.

Next steps

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

Contributing

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

How can I contribute?

  • Take a look at issues with tags markedGood first issue orHelp wanted.
  • Join the discussion on the mailing list, subscriptionguide.
  • Answer questions onissues.
  • Fix bugs reported onissues, and send us a pull request.
  • Review the existingpull request.
  • Improve thewebsite, typically we need
    • blog post
    • translation on documentation
    • use cases around the integration of Dubbo in enterprise systems.
  • Improve thedubbo-admin/dubbo-monitor.
  • Contribute to the projects listed inecosystem.
  • Other forms of contribution not explicitly enumerated above.
  • If you would like to contribute, please send an email todev@dubbo.apache.org to let us know!

Reporting bugs

Please follow thetemplate for reporting any issues.

Reporting a security vulnerability

Please report security vulnerabilities tous privately.

Dubbo ecosystem

Language

License

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

Packages

No packages published

Languages

  • Java99.6%
  • Mustache0.3%
  • Shell0.1%
  • Thrift0.0%
  • JavaScript0.0%
  • Lex0.0%

[8]ページ先頭

©2009-2025 Movatter.jp