Данный репозиторий был заархивирован. Все реализации были перемещены в apache/dubbo.
Проект Apache Dubbo Spring Boot упрощает создание приложений на основе Spring Boot с использованием Dubbo в качестве RPC-фреймворка. Кроме того, он также предоставляет:
Apache Dubbo — это высокопроизводительный, лёгкий Java-фреймворк для удалённого вызова процедур (RPC). Dubbo предлагает три ключевые функции, которые включают удалённый вызов по интерфейсу, отказоустойчивость и балансировку нагрузки, а также автоматическую регистрацию и обнаружение служб.
Вы можете внедрить новейший dubbo-spring-boot-starter в свой проект, добавив следующую зависимость в ваш pom.xml:
<properties>
<spring-boot.version>2.3.0.RELEASE</spring-boot.version>
<dubbo.version>2.7.8</dubbo.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Apache Dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-bom</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Dubbo Spring Boot Starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
</dependencies>
Если ваш проект не может разрешить зависимость, попробуйте добавить следующий репозиторий:
<repositories>
<repository>
<id>apache.snapshots.https</id>
<name>Apache Development Snapshot Repository</name>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
Если вы всё ещё используете устаревший Dubbo, версия которого меньше 2.7.0, пожалуйста, используйте следующие Spring Boot стартеры:
Dubbo Spring Boot | Dubbo | Spring Boot |
---|---|---|
0.2.1.RELEASE | 2.6.5+ | 2.x |
0.1.2.RELEASE | 2.6.5+ | 1.x |
Если вы хотите попробовать последние функции, вы также можете собрать проект из исходного кода следующим образом:
Maven install =
mvn install
Если вы не знаете о Dubbo, пожалуйста, уделите несколько минут изучению http://dubbo.apache.org/. После этого вы сможете погрузиться в руководство пользователя Dubbo [http://dubbo.apache.org/en-us/docs/user/quick-start.html].
Обычно существует два сценария использования приложений Dubbo: один — поставщик услуг Dubbo(s), другой — потребитель услуг Dubbo(s). Давайте быстро начнём работу с ними.
Прежде всего, мы предполагаем интерфейс как Dubbo RPC API, который поставщик услуг экспортирует, а клиент службы потребляет:
public interface DemoService {
String sayHello(String name);
}
Поставщик услуг реализует DemoService
:
@DubboService(version = "1.0.0")
public class DefaultDemoService implements DemoService {
/**
* Значение по умолчанию для ${dubbo.application.name} — это ${spring.application.name}.
*/
@Value("${dubbo.application.name}")
private String serviceName;
public String sayHello(String name) {
return String.format("[%s] : Hello, %s", serviceName, name);
}
}
Предоставляет класс начальной загрузки:
@EnableAutoConfiguration
public class DubboProviderDemo {
public static void main(String[] args) {
SpringApplication.run(DubboProviderDemo.class,args);
}
}
Конфигурирует application.properties
:
# Spring boot application
spring.application.name=dubbo-auto-configuration-provider-demo
# Базовые пакеты для сканирования компонента Dubbo: @org.apache.dubbo.config.annotation.Service
dubbo.scan.base-packages=org.apache.dubbo.spring.boot.sample.provider.service
# Приложение Dubbo
## Значение по умолчанию dubbo.application.name — ${spring.application.name}
## dubbo.application.name=${spring.application.name}
# Протокол Dubbo
dubbo.protocol.name=dubbo
dubbo.protocol.port=12345
## Реестр Dubbo
dubbo.registry.address=N/A
Потребитель услуг также предоставляет класс начальной загрузки для ссылки на DemoService
@EnableAutoConfiguration
public class DubboAutoConfigurationConsumerBootstrap {
private final Logger logger = LoggerFactory.getLogger(getClass());
@DubboReference(version = "1.0.0", url = "dubbo://127.0.0.1:12345")
private DemoService demoService;
public static void main(String[] args) {
SpringApplication.run(DubboAutoConfigurationConsumerBootstrap.class).close();
}
@Bean
public ApplicationRunner runner() {
return args -> {
logger.info(demoService.sayHello("mercyblitz"));
};
}
}
Конфигурирует application.yml
:
spring:
application:
name: dubbo-auto-configure-consumer-sample
Если DubboProviderDemo
работает хорошо, убедитесь, что DubboProviderDemo
запущен.
Дополнительные сведения см. в разделе Образцы.
Возникли проблемы с Dubbo Spring Boot? Мы хотим помочь!
Если вы хотите попробовать последние функции Dubbo Spring Boot, его можно легко собрать с помощью обёртки maven. Ваш JDK версии 1.8 или выше.
$ ./mvnw clean install
В Apache Dubbo Spring Boot Project есть несколько модулей, давайте рассмотрим их обзор:
Основное использование dubbo-spring-boot-parent
— управление зависимостями для других модулей.
dubbo-spring-boot-autoconfigure
использует @EnableAutoConfiguration
Spring Boot, которая помогает основным компонентам Dubbo автоматически настраиваться с помощью DubboAutoConfiguration
. Это сокращает код и устраняет необходимость в конфигурации XML.
Дуббо-спринг-бут-стартер — это стандартный Spring Boot Starter, который содержит дуббо-спринг-бут-автоконфигурейт и дуббо-спринг-бут-актуатор. Он будет импортирован в ваше приложение напрямую.
Проект сэмплов Dubbo Spring Boot включает:
Проект Apache Dubbo spring boot лицензирован под лицензией Apache 2.0. Подробнее см. в файле LICENSE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )