Dubbo 빠 른 입문 실례
9694 단어 dubbo
eclipse 에서 maven 은 두 항목 을 새로 만 들 었 습 니 다. 서비스 제공 자 와 서비스 소비 자 는 다음 절 차 를 정리 하고 코드 를 모두 붙 여 디 버 깅 에 직접 사용 할 수 있 습 니 다. dubbo 초보 자 에 게 도움 이 되 기 를 바 랍 니 다.
다음은 시작 하 겠 습 니 다.
서비스 제공 자
pom. xml 는 다음 과 같 습 니 다.
4.0.0
com.mvntest
dubboProvider
war
0.0.1-SNAPSHOT
dubboProvider Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
javax.servlet
servlet-api
2.5
org.springframework
spring
2.5.6.SEC03
org.javassist
javassist
3.18.1-GA
com.alibaba
dubbo
2.5.3
org.apache.zookeeper
zookeeper
3.4.5
pom
com.101tec
zkclient
0.4
log4j
log4j
1.2.16
commons-logging
commons-logging
1.1.1
org.slf4j
slf4j-api
1.7.6
org.slf4j
slf4j-log4j12
1.6.1
dubboProvider
UTF-8
1. 서비스 인 터 페 이 스 를 정의 합 니 다. (이 인 터 페 이 스 는 따로 포장 하고 서비스 제공 자 와 소비자 가 공유 해 야 합 니 다) 본 고 는 따로 포장 하지 않 고 서비스 제공 자 와 서비스 소비 자 는 모두 같은 서비스 인 터 페 이 스 를 새로 만 들 었 다.
package com.quickStart.service;
public interface DemoService {
String sayHello(String name);
}
2. 서비스 제공 자 에 게 인 터 페 이 스 를 실현 한다. (서비스 소비자 에 게 숨겨 진 실현)
package com.quickStart.service.impl;
import com.quickStart.service.DemoService;
public class DemoServiceImpl implements DemoService {
public String sayHello(String name) {
return "Hello " + name;
}
}
3. Spring 으로 노출 서 비 스 를 설정 합 니 다.
4. Spring 설정 을 불 러 오고 서 비 스 를 시작 합 니 다. (Provider 클래스 의 main () 방법 을 실행 하고 서 비 스 를 시작 합 니 다.
)
package com.quickStart;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Provider {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"/provider.xml"});
context.start();
System.in.read(); //
//System.out.println("-------------Dubbo -----------");
}
}
서비스 소비자
pom. xml 는 다음 과 같 습 니 다.
4.0.0
com.mvntest
dubboProvider
war
0.0.1-SNAPSHOT
dubboConsumer Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
javax.servlet
servlet-api
2.5
org.springframework
spring
2.5.6.SEC03
org.javassist
javassist
3.18.1-GA
com.alibaba
dubbo
2.5.3
org.apache.zookeeper
zookeeper
3.4.5
pom
com.101tec
zkclient
0.4
log4j
log4j
1.2.16
commons-logging
commons-logging
1.1.1
org.slf4j
slf4j-api
1.7.6
org.slf4j
slf4j-log4j12
1.6.1
dubboConsumer
UTF-8
1. 서비스 인 터 페 이 스 를 정의 합 니 다. (이 인 터 페 이 스 는 따로 포장 하고 서비스 제공 자 와 소비자 가 공유 해 야 합 니 다) 본 고 는 따로 포장 하지 않 고 서비스 제공 자 와 서비스 소비 자 는 모두 같은 서비스 인 터 페 이 스 를 새로 만 들 었 다.
package com.quickStart.service;
public interface DemoService {
String sayHello(String name);
}
2. Spring 설정 을 통 해 원 격 서 비 스 를 참조 합 니 다.
3. Spring 설정 을 불 러 오고 원 격 서 비 스 를 호출 합 니 다. (IoC 주입 도 사용 할 수 있 습 니 다)
package com.quickStart;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.quickStart.service.DemoService;
public class Consumer {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "/consumer.xml" });
context.start();
DemoService demoService = (DemoService) context.getBean("demoService"); //
String hello = demoService.sayHello("world"); //
System.out.println(hello); //
}
}
4.
Consumer 클래스 의 main () 방법 을 실행 하여 호출 결 과 를 인쇄 합 니 다. "Hello world".
호출 결과 "Hello world" 를 얻 었 습 니 다. 이로부터, RPC (Remote Procedure Call Protocol 원 격 프로 세 스 호출 프로 토 콜) 가 실 현 됩 니 다.
* * 주의:
1. 먼저 서비스 자 를 시작 한 다음 에 소비 자 를 운영 해 야 한다.
2. DemoService 인터페이스 류 는 반드시 서비스 제공 자 와 서비스 소비자 두 항목 이 모두 존재 해 야 한다. (실제 생산 환경 에서 이런 인터페이스 류 는 단독으로 포장 할 수 있다. 서비스 제공 자 와 소비자 가 공유 하 는데 개인 은 현재 이것 이 무슨 소 용이 있 는 지 느끼 지 못 하고 어떤 일 을 아 꼈 는 지 모르겠다. 같은 서비스 인터페이스 클래스 를 한 번 덜 쓰 려 고?)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Dubbo 는 Keepalived + Nginx 로 높 은 웹 부하 균형 을 실현 할 수 있 습 니 다.Configuration File for keepalived global_defs { router_id edu-proxy-02 } vrrp_script chk_nginx { script "/etc/keepalived...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.