Spring boot 통합 Dubbox

머리말
작업 상의 이유 로 프로젝트 에 dubbo 를 통합 해 야 하기 때문에 dubbo 관련 문 서 를 조회 해 보 니 dubbo 는 현재 업데이트 되 지 않 았 기 때문에 dubbox 에 눈 을 돌 렸 습 니 다. dubbox 는 당당 망 이 dubbo 를 바탕 으로 2 차 개발 한 프로젝트 입 니 다. dubbox 는 회사 프로젝트 중 하 나 는 spring mvc 3.0 을 바탕 으로 하 는 것 이 고 하 나 는 spring boot 을 바탕 으로 하 는 것 입 니 다.한편, spring boot 는 상대 적 으로 문서 가 적 기 때문에 이 글 은 spring boot 에서 dubbox 를 어떻게 계승 하 는 지 기록 합 니 다.
1. zookeeper 설치
1. zookeeper 안내
ZooKeeper 는 분포 식 이 고 소스 코드 를 개방 하 는 분포 식 응용 프로그램 조율 서비스 로 Google 의 Chubby 오픈 소스 의 실현 이 며 Hadoop 과 Hbase 의 중요 한 구성 요소 입 니 다.이것 은 분포 식 응용 에 일치 성 서 비 스 를 제공 하 는 소프트웨어 로 유지 보수, 도 메 인 네 임 서비스, 분포 식 동기 화, 그룹 서비스 등 을 포함한다.ZooKeeper 의 목 표 는 복잡 하고 오류 가 발생 하기 쉬 운 관건 적 인 서 비 스 를 밀봉 하고 간단 하고 사용 하기 쉬 운 인터페이스 와 성능 이 효율 적 이 고 기능 이 안정 적 인 시스템 을 사용자 에 게 제공 하 는 것 이다.
한편, dubbo 는 zookeeper 에 의존 하 는 분포 식 프레임 워 크 입 니 다. 물론 2 차 개발 한 dubbox 도 zookeeper 에 의존 할 것 입 니 다. 그래서 우 리 는 먼저 zookeeper 를 설치 해 야 합 니 다.
2, 다운로드 zookeeper
zookeeper 홈 페이지 주소http://zookeeper.apache.org/ 다운로드 주소http://apache.fayea.com/zookeeper/
3. zookeeper 설치
저 는 Windows 환경 에서 설정 되 어 있 기 때문에 windows 아래 설정 을 간단히 말씀 드 리 겠 습 니 다. 먼저 압축 패 키 지 를 풀 고 conf 폴 더 에 들 어가 zoo 를 복사 합 니 다.sample. cfg 는 복사 본 을 만 들 고 zoo. cfg 로 이름 을 바 꿉 니 다. zookeeper 는 zoo. cfg 만 식별 하기 때문에 기본적으로 이 파일 이 없 는 'zoo' 입 니 다.sample. cfg 는 기본 설정 파일 이지 만 파일 이름 때문에 zookeeper 가 인식 할 수 없습니다. 물론 zoo 로 이름 을 바 꿉 니 다.sample. cfg 도 괜 찮 습 니 다. 마음 에 드 는 것 만 보 세 요.
4. zookeeper 시작
윈도 환경 에서 빈 디 렉 터 리 에 있 는 zkServer. cmd 를 직접 실행 하면 됩 니 다. 리 눅 스 환경 이 라면 빈 디 렉 터 리 에서 실행 합 니 다.
./zkServer.sh start

명령 하면 zookeeper 를 시작 할 수 있 습 니 다.
5, dubbox 의존 추가
        
            com.alibaba
            dubbo
            2.8.4
        
        
            com.101tec
            zkclient
            0.9
        
        
            org.apache.zookeeper
            zookeeper
            3.4.6
            
                
                    org.slf4j
                    slf4j-log4j12
                
                
                    log4j
                    log4j
                
            
        

주의 하 세 요. 여기 dubbo 의 2.8.4 버 전 은 제 가 직접 컴 파일 한 것 입 니 다. 이것 은 maven 창고 에 없습니다. dubbo 는 이미 업데이트 되 지 않 았 고 2.8.4 는 해당 네트워크 의 dubbox 이기 때문에 사용 하려 면 dubbox 를 컴 파일 하거나 오래된 버 전의 dubbo 를 사용 하 십시오.
6. 서비스 제공 자의 인터페이스 클래스 추가:
package wang.raye.dubbo.interfaces;

public interface DubboInterface {

    public String hello(String name);
}


인터페이스 구현 클래스:
package wang.raye.dubbodemo1;

import org.springframework.stereotype.Service;

import wang.raye.dubbo.DubboInterface;
@Service
public class DubboImpl implements DubboInterface {

    public String hello(String name) {
        return "hello "+name+"  this is dubbodemo1";
    }

}


7. dubbo 설정 xml xml 파일 을 sources 폴 더 에 추가 합 니 다. 이름 은 마음대로 명명 할 수 있 습 니 다. 저 는 dubbo. xml 입 니 다.


        
    
   
     
   
  
   


여기 에는 각 노드 마다 해석 이 있어 서 너무 많은 해석 을 믿 을 수 없다.
8. 소비자 배치
클래스 에서 원 격 공급 자 참조
package wang.raye.dubbodemo3.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import wang.raye.dubbo.DubboInterface;

@Controller
public class DubboControll {
    
    @Autowired
    private DubboInterface interface1;
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(String name){
        return interface1.hello(name);
    }

    
    
}


소비자 xml 설정
  
      
       
      
      
      


여기 도 모든 접점 에 주석 이 있 으 니 더 이상 말 할 필요 가 없 을 것 입 니 다. 또한 본 고 는 dubbo 설정 을 중시 하 는 것 이 아니 라 주로 spring boot 집성 dubbox 를 말 합 니 다.
9. dubbo 설정 xml 를 참조 하여 Spring boot 의 Application 류 에 주 해 를 추가 합 니 다.
@ImportResource({"classpath:dubbo.xml"})

내 xml 이름 은 dubbo. xml 이기 때문에 사용 할 때 자신의 xml 이름 으로 바 꿔 야 합 니 다. = = 주의: 소비자 프로젝트 와 서비스 제공 자의 프로젝트 의 Application 류 는 모두 이 주 해 를 설정 해 야 합 니 다 = =
엔 딩
이로써 spring boot 통합 duubox 는 말 이 끝 났 습 니 다. 물론 이렇게 말 하면 공허 할 것 입 니 다. 그래서 저 는 제 가 테스트 한 프로젝트 를 github 에 올 렸 습 니 다. 참고 하 셔 도 됩 니 다. 물론 테스트 하려 면 dubbo. xml 의 dubbo: registry 노드 의 zookeeper 주 소 를 수정 해 야 합 니 다.
demo 주 소 는 dubbo 의 장점 을 나타 내기 위해 저 는 2 개의 서비스 제공 자 를 만 들 었 습 니 다. 자주 호출 하면 이 2 개 중 하 나 를 자동 으로 선택 하고 부하 균형 도 면 제 했 습 니 다. zookeeper 가 직접 만 들 었 을 것 입 니 다. 그래서 괜 찮 은 것 같 습 니 다.

좋은 웹페이지 즐겨찾기