SpringBoot 에서 dubbo+zookeeper 가 분포 식 개발 을 실현 하 는 응용 에 대한 상세 한 설명

전체적인 실현 방향 은 생산자 프로젝트 등록 을 시작 하고 포 함 된 서 비 스 를 zookeeper 의 등록 센터 에 등록 한 다음 에 소비자 프로젝트 를 시작 하여 필요 한 서 비 스 를 zookeeper 등록 센터 에 구독 하고 등록 센터 의 통 지 를 기다 리 는 것 이다.
등록 센터 는 부하 균형 알고리즘 을 바탕 으로 소비자 에 게 적합 한 생산자 호스트 에 일치 시 킨 다음 에 소비자 에 게 사용 할 수 있 음 을 알려 준다.
생산 자 를 실현 하 다
zookeeper 의존 팩 가 져 오기

<!-- Dubbo Spring Boot Starter -->
    <dependency>
      <groupId>org.apache.dubbo</groupId>
      <artifactId>dubbo-spring-boot-starter</artifactId>
      <version>2.7.3</version>
    </dependency>
    <!--zookeeper  -->
    <!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
    <dependency>
      <groupId>com.github.sgroschupf</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.1</version>
    </dependency>
    <!--   zookeeper -->
    <!--【    】zookeeper     ,      ,         -->
    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>2.12.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-recipes</artifactId>
      <version>2.12.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.4.14</version>
      <!--    slf4j-log4j12-->
      <exclusions>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
서비스 이름,등록 센터 주소 설정,등 록 된 가방 검색

server.port=8081
#      
dubbo.application.name=provider-server
#      
dubbo.registry.address=zookeeper://127.0.0.1:2181
#        
dubbo.scan.base-packages=com.demo.service
하나의 인 터 페 이 스 를 실현 하여 인터페이스 에서 수 요 를 완성 하 다.

public interface Translate {

  String translate(String str);
}

public interface Translate {

  String translate(String str);
}
소비자
도입 의존 은 생산자 의 의존 과 같다.
서비스 이름,등록 센터 주소 설정

server.port=8082
#   zookeeper
#       
dubbo.application.name=consumer.server
#         
dubbo.registry.address=zookeeper://127.0.0.1:2181
원래 정상 적 인 절 차 는 서비스 제공 자의 인 터 페 이 스 를 포장 한 다음 에 pom 파일 로 가 져 오 는 것 입 니 다.우 리 는 간단 한 방식 으로 서비스의 인 터 페 이 스 를 직접 가 져 와 야 합 니 다.경 로 는 반드시 정확 해 야 합 니 다.즉,서비스 제공 자 와 같 아야 합 니 다.
실속
번역 서비스 받 기

package com.demo.service;

import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;

@Service //  Spring Service    
public class Translation {

  @Reference //         ,           ,               
  private Translate translate;

  public String getTranslation(String str) {
    return translate.translate(str);
  }

}
컨트롤 러 구현

@RestController
public class TranslateController {

  @Autowired
  Translation translation;

  @RequestMapping("/tran/{str}")
  public String tran(@PathVariable("str")String str) {
    return translation.getTranslation(str);
  }
}
테스트
우선 zookeeper 서버 와 dubbo 를 시작 하여 모니터링 페이지 에 들 어 갑 니 다.
在这里插入图片描述
서버 와 dubbo 를 닫 지 말고 생산자 이 springboot 프로젝트 를 시작 하 십시오.
在这里插入图片描述
위의 그림 에 따 르 면 생산자 등록 성공 입 니 다.우 리 는 ip 를 클릭 하여 상세 한 상황 을 볼 수 있 습 니 다.
在这里插入图片描述
소비자 이 springboot 프로젝트 시작
在这里插入图片描述
在这里插入图片描述
주 소 를 방문 하지만,우리 소비자 의 tomcat 시작 포트 가 8082 로 바 뀌 었 음 을 주의해 야 합 니 다.

번역 성공
SpringBoot 에서 dubbo+zookeeper 가 분포 식 개발 을 실현 하 는 응용 에 대한 상세 한 설명 은 여기까지 입 니 다.더 많은 SpringBoot dubbo zookeeper 분포 식 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기