1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/apache-Dubbo-Spring-Boot

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Проект Apache Dubbo Spring Boot

Данный репозиторий был заархивирован. Все реализации были перемещены в apache/dubbo.

Build Status codecov license

Проект 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

Сборка из исходного кода

Если вы хотите попробовать последние функции, вы также можете собрать проект из исходного кода следующим образом:

  1. Установите Maven текущего проекта в локальный репозиторий.

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);

}

Поставщик услуг Dubbo

  1. Поставщик услуг реализует 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);
        }
    }
  2. Предоставляет класс начальной загрузки:

    @EnableAutoConfiguration
    public class DubboProviderDemo {
    
        public static void main(String[] args) {
            SpringApplication.run(DubboProviderDemo.class,args);
        }
    }
  3. Конфигурирует 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

Потребитель услуг Dubbo

  1. Потребитель услуг также предоставляет класс начальной загрузки для ссылки на 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"));
            };
        }
    }
  2. Конфигурирует 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-parent — управление зависимостями для других модулей.

dubbo-spring-boot-autoconfigure

dubbo-spring-boot-autoconfigure использует @EnableAutoConfiguration Spring Boot, которая помогает основным компонентам Dubbo автоматически настраиваться с помощью DubboAutoConfiguration. Это сокращает код и устраняет необходимость в конфигурации XML.

dubbo-spring-boot-actuator Дуббо-спринг-бут-актуатор предоставляет готовые к использованию в продакшене функции, такие как:

  • проверки работоспособности (health checks);
  • конечные точки (endpoints);
  • экстернализованная конфигурация (externalized configuration).

Дуббо-спринг-бут-стартер — это стандартный Spring Boot Starter, который содержит дуббо-спринг-бут-автоконфигурейт и дуббо-спринг-бут-актуатор. Он будет импортирован в ваше приложение напрямую.

Проект сэмплов Dubbo Spring Boot включает:

  • сэмплы автоконфигурации;
  • сэмплы экстернализованной конфигурации;
  • сэмплы реестра Zookeeper;
  • сэмплы реестра Nacos.

Лицензия

Проект Apache Dubbo spring boot лицензирован под лицензией Apache 2.0. Подробнее см. в файле LICENSE.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Проект Dubbo Spring Boot значительно упрощает создание Spring Boot приложения с использованием Dubbo в качестве RPC-фреймворка. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/apache-Dubbo-Spring-Boot.git
git@api.gitlife.ru:oschina-mirror/apache-Dubbo-Spring-Boot.git
oschina-mirror
apache-Dubbo-Spring-Boot
apache-Dubbo-Spring-Boot
master