Предисловие
Из -за рабочих причинах необходимо интегрировать Dubbo в проект, поэтому я проверил документы, связанные с Dubbo, и обнаружил, что Dubbo в настоящее время не обновлен, поэтому я обратил свое внимание на Dubbox. Dubbox - это проект, разработанный Dangdang.com на основе Dubbo, Dubbox. Поскольку один из проектов компании основан на Spring MVC 3.0, а другой основан на Spring Boot, а Spring Boot имеет относительно меньше документов, поэтому в этой статье записывается, как унаследовать Dubbox под Spring Boot
1. Установите Zookeeper
1. Введение в Zookeeper
Zookeeper - это распределенная служба координации распределенной приложения с открытым исходным кодом. Это реализация с открытым исходным кодом Google и важную компонент Hadoop и Hbase. Это программное обеспечение, которое предоставляет последовательные услуги для распределенных приложений, а его функции включают в себя: конфигурацию и обслуживание, службы доменных имен, распределенная синхронизация, групповые услуги и т. Д.
Цель Zookeeper-упаковать комплексные и подверженные ошибкам ключевые сервисы, а также предоставить пользователям простые и простые в использовании интерфейсы и эффективные и стабильные системы.
Dubbo - это распределенная структура, которая опирается на Zookeeper. Конечно, второстепенный Dubbox Dubbox определенно будет полагаться на Zookeeper, поэтому нам нужно сначала установить Zookeeper.
2. Скачать Zookeeper
Zookeeper Официальный адрес веб -сайта http://zookeeper.apache.org/
Скачать адрес http://apache.fayea.com/zookeeper/
Локальный адрес загрузки более удобен: //www.vevb.com/softs/578345.html
3. Установите Zookeeper
Поскольку я настроил его в среде Windows, я кратко расскажу о конфигурации под Windows. Сначала разканируйте сжатый пакет, затем введите папку conf, скопируйте Zoosample.cfg, чтобы создать копию, а затем переименовать в Zoo.cfg, потому что Zookeeper распознает только Zoo.cfg, а по умолчанию недоступны. zoosample.cfg - это файл конфигурации по умолчанию, но из -за имени файла Zookeeper не может его распознать. Конечно, можно напрямую переименовать Zoo_sample.cfg, это только зависит от вашего любимого.
4. Начните Zookeeper
Просто запустите zkserver.cmd в каталоге Bin непосредственно в среде Windows. Если это среда Linux, запустите ее в каталоге Bin.
./zkserver.sh Start
Zookeeper можно начать
5. Добавить зависимости Dubbox
<dependency> <groupid> com.alibaba </groupid> <artifactid> dubbo </artifactid> <sersive> 2.8.4 </version> </dependency> <dehydency> <groupid> com.101tec </GroupId> <Artifactid> zkclient </artifactid> <serview> 0.9 </версия> </artifactid> <pervicty> </Artifactid> <serview> 0.9 </версия> </artifactind> </artifactid> <seriate> 0.9 </ression> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactid> log4j </artifactid> </exclusion> </exclusions> </gethyseriation>
Обратите внимание, что версия Dubbo 2.8.4 здесь составлена мне, которая не доступна в репозитории Maven, потому что Dubbo больше не обновляется, а 2.8.4 - это Dubbox от Dangdang.com, поэтому, если вы хотите его использовать, либо скомпилируйте Dubbox, либо используйте старую версию Dubbo, так что если вы хотите его использовать, либо скомпилируйте Dubbox, либо используйте старую версию Dubbo, так что, если вы хотите его использовать, либо скомпилируйте Dubbox, либо используйте старую версию Dubbo, либо используйте старую версию Dubbo, так что, если вы хотите его использовать, либо скомпилируйте Dubbox, либо используйте старую версию Dubbo, либо используйте старую версию Dubbo, так что, если вы хотите использовать его
6. Добавьте интерфейс класс поставщика услуг:
Пакет wang.raye.dubbo.interfaces; public interface dubbointerface {public String hello (string name);}Класс реализации интерфейса:
пакет wang.raye.dubbodemo1; import org.springframework.stepolype.service; импорт wang.raye.dubbo.dubbointerface; @Servicepublic class dubboimpl реализует dubbointerface {public String hello (string name) {return "hello"+name+"Это dubbodemo1"; }}7. Добавьте файл Dubbo Configuration XML XML в папку источников. Вы можете назвать имя по желанию. Вот dubbo.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: jee = "http://www.springframework.org/schema/jee" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: dubbo = "http://code.alibabatech.commschema "/dubbema"/http://code.alibabatech.commschema "/DUBBABABABABABABATECHEM. xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.spramework.orgemam. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd «По умолчанию-lazy init =" false "> <!-Информация по приложению провайдера, это эквивалентно названию. Наша страница Dubbo Management становится более четкой, какое приложение выявило-> <dubbo: name Application = "dubbo-provider1"> < /dubbo: Приложение> <!-Раскрывайте интерфейс с использованием аннотации <dubbo: Annotation Package = "wang.raye.dubbodemo1" /> <! address = "Zookeeper: //192.168.1.126: 2181" check = "false" indiquibe = "false" register = ""> </dubbo: реестр> <!-Экспозиция. Интерфейс, который будет подвергаться,-> <dubbo: service interface = "wang.raye.dubbo.interfaces.dubbinterface" refface = "dubbemplaempleance.> dubbeancempleance.
У каждого узла есть объяснение, я считаю, что это не будет слишком много объяснений
8. Настройте потребителей
Ссылки на удаленных провайдеров в классе
пакет wang.raye.dubbodemo3.controller; import org.springframework.beans.factory.annotation.autowired; Import org.springframework.sterotype.controller; Импорт org.springframework.web.bind.annotation.requestmapping; Import org.springframework.web.bind.annotation.responsebody; import wang.raye.dubbo.dubbointerface; @ControllerPublic Class DubboControll {@autowired private dubbointerface1; @Requestmapping ("/hello") @Responsebody public String hello (string name) {return interface1.hello (name); }}Конфигурация XML потребителя
<Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: dubbo = "http:/cdem.albababemaembemaembemaembemaembemaembemaem. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-имя потребительского приложения, используемое для расчета зависимостей, не совпадающих условия, не совпадайте с поставщиком-> <dubbo: name =" dubbo-custom-dsp "/> <dubbo: address = "Zookeeper: //192.168.1.126: 2181"/> <!-Сгенерировать агента удаленного обслуживания, вы можете использовать демосервис, как локальные бобы-> <dubbo: reference id = "dubboservice" interface = "wang.raye.dubbo.interfaces.dubbinterface"/> </> </> </> </> </> </> </> </> </> </> </> </> </> </> </> </>
Здесь есть комментарии, поэтому не должно быть необходимости говорить больше. Более того, эта статья не обращает внимания на конфигурацию Dubbo, но в основном рассказывает о интеграции Spring Boot Dubbox
9. Справочная конфигурация Dubbo XML, чтобы добавить аннотации в класс приложений Spring Boot Class
@ImporTresource ({"classPath: dubbo.xml"})Поскольку мое имя XML - dubbo.xml, когда вы его используете, вам нужно изменить его на свое собственное имя XML. ПРИМЕЧАНИЕ. Класс приложений Проекта потребителя и проекта поставщика услуг должны быть настроены с помощью этой аннотации.
Конец
На этом этапе пружинная интеграция загрузки Duubox закончена. Конечно, это должно быть пусто, чтобы сказать это, поэтому проект, который я тестировал, был загружен на GitHub. Вы можете ссылаться на это. Конечно, если вы хотите проверить его, вам нужно изменить адрес Zookeeper в Dubbo: реестр Dubbo.xml.
Демо -адрес, чтобы показать преимущества Даббо, я создал двух поставщиков услуг. Если я часто звоню, я автоматически выберу любой из этих двух и даже избегаю балансировки нагрузки. Это должно быть сделано самим Zookeeper, поэтому я чувствую, что это довольно хорошо.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.