Dubbo Apache Dubbo™ — это высокопроизводительный Java-фреймворк для удалённого вызова процедур (RPC). Spring Boot — это проект, который позволяет легко создавать приложения с использованием Spring Boot.
Apache Dubbo |ˈdʌbəʊ| — это высокопроизводительный, лёгковесный и открытый Java-фреймворк для удалённого вызова процедур. Он предоставляет три основные возможности: вызов методов через интерфейсы, умная система отказоустойчивости и балансировки нагрузки, а также автоматическую регистрацию и обнаружение сервисов.
Вы можете включить последнюю версию dubbo-spring-boot-starter
в свой проект, добавив следующую зависимость в файл pom.xml
вашего проекта:
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>{latest_version}</version>
</dependency>
Здесь {latest_version}
— это номер самой новой доступной версии.```xml
<spring-boot.version>2.3.0.RELEASE</spring-boot.version>
<dubbo.version>2.7.8</dubbo.version>
Здесь нет необходимости в переводе, поскольку текст внутри XML-тегов представляет собой метаданные проекта и конфигурационные свойства, которые обычно остаются на английском языке.```markdown <зависимость> <групповой_ид>org.apache.dubbo</групповой_ид> <идентификатор_artifact>dubbo-dependencies-bom</идентификатор_artifact> <версия>${dubbo.version}</версия> <тип>pom</тип> <область>import</область> </зависимость>
Для получения более подробной информации обратитесь к разделу [Английское README](README.md).
```markdown
<зависимости>
<зависимость>
<групповой_ид>org.apache.dubbo</групповой_ид>
<идентификатор_artifact>dubbo</идентификатор_artifact>
<исключения>
<исключение>
<групповой_ид>org.springframework</групповой_ид>
<идентификатор_artifact>spring</идентификатор_artifact>
</исключение>
<исключение>
<групповой_ид>javax.servlet</групповой_ид>
<идентификатор_artifact>servlet-api</идентификатор_artifact>
</исключение>
<исключение>
<групповой_ид>log4j</групповой_ид>
<идентификатор_artifact>log4j</идентификатор_artifact>
</исключение>
</исключения>
</зависимость>
</зависимости>
<dependencies>
<!-- Dubbo Spring Boot Starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
cq <artifactId>dubbo</artifactId>
</dependency>
</dependencies>
Если ваш проект сталкивается с проблемами зависимостей, попробуйте добавить следующие Maven зависимости в файл pom.xml
вашего проекта:
<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, воспользуйтесь соответствующими версиями Dubbo Spring Boot:
| Dubbo Spring Boot | Dubbo | Spring Boot |
| ----------------- | ------ | ----------- |
| [0.2.1.RELEASE](https://github.com/apache/dubbo-spring-boot-project/tree/0.2.x) | 2.6.5+ | 2.x |
| [0.1.2.RELEASE](https://github.com/apache/dubbo-spring-boot-project/tree/0.1.x) | 2.6.5+ | 1.x |
### Сборка из исходного кода
Если вам требуется использовать последнюю версию `dubbo-spring-boot-project`, вы можете выполнить сборку текущего проекта с помощью Maven и установить его в локальный Maven репозиторий.
1. Выполните команду `mvn install` для текущего проекта
> Maven install = `mvn install`
## Быстрый старт
Если вы ещё не знакомы с Dubbo, потратите несколько минут на изучение информации по адресу http://dubbo.apache.org/. После этого, если вам потребуется более подробное руководство, обратитесь к [руководству пользователя](http://dubbo.apache.org/zh-cn/docs/user/quick-start.html).
Обычно Dubbo приложение имеет два основных использования: первое — это предоставление сервиса Dubbo, второе — использование сервиса Dubbo. Разумеется, возможно совмещение этих двух ролей. Давайте начнём!Предположим, что существует Dubbo RPC API, который предоставляется стороной-поставщика для стороны-потребителя:
```java
public interface DemoService {
String sayHello(String name);
}
```
### Реализация стороны-поставщика Dubbo
1. Реализуйте интерфейс `DemoService`
```java
@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. Создание Spring Boot запускающего класса
```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` с помощью `@DubboReference`:```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
```
Убедитесь, что сервис, предоставляющий Dubbo, доступен, и запущенный класс `DubboProviderDemo` работает корректно.
Дополнительные детали реализации можно найти в [примерах Dubbo](dubbo-spring-boot-samples).
## Общение сообщества
Если вы столкнулись с проблемами при использовании Dubbo Spring Boot или у вас есть предложения, мы очень ценим вашу поддержку!
- Если вам требуется обновление версий, прочитайте [сообщение о выпуске](https://github.com/dubbo/dubbo-spring-boot-project/releases), чтобы узнать о новых возможностях и исправлениях.
- Если вы столкнулись с какими-либо проблемами, вы можете подписаться на [почтовый список пользователей Dubbo](mailto:dubbo+subscribe@googlegroups.com).
- Отправьте обратную связь через [issues](https://github.com/dubbo/dubbo-spring-boot-project/issues) с темой проблемы использования.
## Модульный проект
Dubbo Spring Boot использует многомодульную архитектуру Maven, модули следующие:
### [dubbo-spring-boot-parent](dubbo-spring-boot-parent)
Модуль [dubbo-spring-boot-parent](dubbo-spring-boot-parent) управляет зависимостями Maven для всего проекта Dubbo Spring Boot.
### [dubbo-spring-boot-autoconfigure](dubbo-spring-boot-autoconfigure)
Модуль [dubbo-spring-boot-autoconfigure](dubbo-spring-boot-autoconfigure) предоставляет реализацию Spring Boot's `@EnableAutoConfiguration`, включая компонент `DubboAutoConfiguration`,
который упрощает конфигурацию основных компонентов Dubbo.### [dubbo-spring-boot-actuator](dubbo-spring-boot-actuator)
Модуль [dubbo-spring-boot-actuator](dubbo-spring-boot-actuator) обеспечивает готовность к использованию в продакшне:
* [Здоровье системы](dubbo-spring-boot-actuator#health-checks)
* [Контрольные точки](dubbo-spring-boot-actuator#endpoints)
* [Внешняя конфигурация](dubbo-spring-boot-actuator#externalized-configuration)
### [dubbo-spring-boot-starter](dubbo-spring-boot-starter)
Модуль [dubbo-spring-boot-starter](dubbo-spring-boot-starter) представляет собой стандартный Spring Boot Starter,
при его импорте в проект, модуль [dubbo-spring-boot-autoconfigure](dubbo-spring-boot-autoconfigure) также будет автоматически подключен.
### [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 )