Apache Dubbo Spring Boot Project делает легким создание Spring Boot приложения с использованием Dubbo как фреймворка удаленного вызова процедур. Кроме того, он также предоставляет:
Apache Dubbo |ˈdʌбоʊ| — это высокопроизводительный, легковесный, основанный на Java фреймворк удаленного вызова процедур. 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>
``````markdown
<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, чья версия меньше OnClickListener 2.7.0, пожалуйста, используйте следующие Spring Boot starters:
Dubbo Spring Boot | Dubbo | Spring Boot |
---|---|---|
0.2.1.RELEASE | 2.6.5+ | 2.x |
0.1.2.RELEASE | 2.6.5+ | 1.x |
Если вы хотите попробовать последние возможности, вы также можете скомпилировать из исходного кода следующим образом:1. Установка Maven текущего проекта в локальном репозитории.
Установка Maven =
mvn install
Если вы ничего не знаете о Dubbo, пожалуйста, потратите несколько минут, чтобы узнать http://dubbo.apache.org/. После этого вы сможете углубиться в руководство пользователя Dubbo user guide.
Обычно существует два сценария использования для приложений Dubbo: один — это провайдер услуг Dubbo, второй — потребитель услуг Dubbo. Давайте быстро начнём работу с ними.
Сначала мы предполагаем интерфейс как 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] : Привет, %s", serviceName, name);
}
}
```2. Предоставляет класс для автоматической настройки
```java
@EnableAutoConfiguration
public class DubboProviderDemo {
public static void main(String[] args) {
SpringApplication.run(DubboProviderDemo.class, args);
}
}
```
3. Конфигурирует файл `application.properties`:
```properties
# Приложение Spring Boot
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
```
### Клиент потребителя сервиса Dubbo
1. Клиент потребителя также предоставляет класс для автоматической настройки для ссылки на `DemoService`
```java
@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"));
};
}
}
```
2. Конфигурирует файл `application.yml`
```yaml
spring:
application:
name: dubbo-auto-configure-consumer-sample
```
Если `DubboProviderDemo` работает корректно, убедитесь, что `DubboProviderDemo` запущен.
Дополнительные сведения см. в разделе [Примеры](dubbo-spring-boot-samples).
## Получение помощи
Имеете проблемы с приложением Dubbo Spring Boot? Мы готовы помочь!- Если вы обновляете версию, прочтите [заметки выпуска](https://github.com/apache/dubbo-spring-boot-project/releases) для получения инструкций по обновлению и новых возможностей.
- Обратитесь за помощью — Вы можете подписаться на [почтовый список пользователей Dubbo](mailto:dubbo+subscribe@googlegroups.com).
- Отправьте сообщение об ошибке на [github.com/apache/dubbo-spring-boot-project/issues](https://github.com/apache/dubbo-spring-boot-project/issues).
## Сборка с источниковЕсли вы хотите попробовать последние возможности Dubbo Spring Boot, её можно легко собрать с помощью [maven wrapper](https://github.com/takari/maven-wrapper). Ваш JDK версии 1.8 или выше.
```
$ ./mvnw clean install
```
## Модули
В проекте Apache Dubbo Spring Boot есть несколько модулей, давайте рассмотрим следующий обзор:
### [dubbo-spring-boot-parent](dubbo-spring-boot-parent)
Основное использование `dubbo-spring-boot-parent` — предоставление управления зависимостями для других модулей.
### [dubbo-spring-boot-autoconfigure](dubbo-spring-boot-autoconfigure)
`dubbo-spring-boot-autoconfigure` использует `@EnableAutoConfiguration` в Spring Boot, что позволяет автоматически конфигурировать компоненты основного Dubbo через `DubboAutoConfiguration`. Это снижает объём кода и устраняет необходимость использования XML-конфигураций.
### [dubbo-spring-boot-actuator](dubbo-spring-boot-actuator)
`dubbo-spring-boot-actuator` обеспечивает готовые к использованию в продакшне возможности (например, [проверки состояния](https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-actuator#health-checks), [конечные точки](https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-actuator#endpoints) и [внешние конфигурации](https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-actuator#externalized-configuration)).
### [dubbo-spring-boot-starter](dubbo-spring-boot-starter)
`dubbo-spring-boot-starter` является стандартным начальным пакетом Spring Boot, который включает в себя [dubbo-spring-boot-autoconfigure](dubbo-spring-boot-autoconfigure) и [dubbo-spring-boot-actuator](dubbo-spring-boot-actuator). Он будет импортироваться непосредственно в ваше приложение.### [dubbo-spring-boot-samples](dubbo-spring-boot-samples)
Проект образцов Dubbo Spring Boot, который включает:
- [Образцы автозагрузки](dubbo-spring-boot-samples/auto-configure-samples)
- [Образцы внешних конфигураций](dubbo-spring-boot-samples/externalized-configuration-samples)
- [Образцы регистрации Zookeeper](https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples/registry-samples/zookeeper-samples)
- [Образцы регистрации Nacos](https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples/registry-samples/nacos-samples)
## Лицензия
Проект Apache Dubbo для Spring Boot находится под лицензией Apache 2.0. Подробнее см. файл [LICENSE](https://github.com/apache/dubbo-spring-boot-project/blob/master/LICENSE).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )