資源相關
Provider服務提供者
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
dubbo:
application:
name: ticket-dubbo-provider
protocol:
name: dubbo
port: 20880
registry:
address: zookeeper://192.168.44.110:2181?backup=192.168.44.111:2181,192.168.44.112:2181
protocol: zookeeper
scan:
base-packages: com.hf.boot.service.impl
consumer:
check: false
monitor:
address: 192.168.44.110:7070
spring:
application:
name: boot-dubbo-provider
server:
port: 8081
package com.hf.boot.service;
public interface TicketService {
String getTicket();
}
package com.hf.boot.service.impl;
import com.alibaba.dubbo.config.annotation.Service;
import com.hf.boot.service.TicketService;
import org.springframework.stereotype.Component;
@Service(timeout = 5000, interfaceClass = TicketService.class)
@Component
public class TicketServiceImpl implements TicketService {
@Override
public String getTicket() {
return "《中國機長》";
}
}
- 主啓動類標註@EnableDubbo註解
- 啓動Provider服務
Consumer服務消費者
- demo結構圖
- pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
spring:
application:
name: boot-dubbo-consumer
server:
port: 8085
dubbo:
application:
name: user-ticket-consumer
protocol:
name: dubbo
port: 20880
registry:
address: zookeeper://192.168.44.110:2181?backup=192.168.44.111:2181,192.168.44.112:2181
protocol: zookeeper
scan:
base-packages: com.hf.boot.service.impl
consumer:
check: false
monitor:
address: 192.168.44.110:7070
- 將TicketService接口加入到consumer項目中【注意包名必須和Provider提供者包名一致】
- UserService
package com.hf.boot.service;
public interface UserService {
void ticketConsumer();
}
package com.hf.boot.service.impl;
import com.alibaba.dubbo.config.annotation.Reference;
import com.hf.boot.service.UserService;
import com.hf.boot.service.TicketService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Reference
TicketService ticketService;
@Override
public void ticketConsumer() {
String ticket = ticketService.getTicket();
System.out.println("買到票了:" + ticket);
}
}
package com.hf.boot.controller;
import com.hf.boot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
UserService userService;
@GetMapping("/hello")
public Object hello() {
userService.ticketConsumer();
return "Success";
}
}
- 主啓動類標註@EnableDubbo註解
- 啓動Consumer消費者
- 測試遠程調用
Monitor服務監控配置
- 訪問地址 http://192.168.44.110:80801/
- 查看服務調用信息
- 查看服務調用圖表信息