<dubbo:application name="client" />
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<dubbo:reference id="userService" interface="com.example.UserService" />
<dubbo:application name="server" />
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:service interface="com.example.UserService" ref="userService" />
UserService userService = (UserService)context.getBean("userService");
User user = userService.getUser("123");
public class UserServiceImpl implements UserService {
public User getUser(String id) {
// ...
return user;
}
}
yaml
spring:
application:
name: client
eureka:
client:
service-url:
default-zone: http://localhost:8761/eureka/
yaml
spring:
application:
name: server
server:
port: 8080
eureka:
client:
service-url:
default-zone: http://localhost:8761/eureka/
@RestController
public class UserController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/user/{id}")
public User getUser(@PathVariable String id) {
User user = restTemplate.getForObject("http://server/user/" + id, User.class);
return user;
}
}
@RestController
public class UserController {
@GetMapping("/user/{id}")
public User getUser(@PathVariable String id) {
// ...
return user;
}
}