Spring Cloud Microservice是一本关于微服务架构实践的书籍,它提供了一个实际的、可操作的微服务架构参考实现。以下是书中一个简化的微服务架构的核心代码示例:
// 假设存在一个Eureka服务注册中心
// 服务提供者示例代码
@RestController
public class SomeServiceController {
@Autowired
private SomeService someService;
@GetMapping("/api/some-service/resource")
public ResponseEntity<?> getResource() {
return ResponseEntity.ok(someService.getResource());
}
}
// 服务消费者示例代码
@RestController
public class OtherServiceController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("/api/other-service/resource")
public ResponseEntity<?> getResource() {
List<ServiceInstance> instances = discoveryClient.getInstances("some-service");
if (instances.isEmpty()) {
return ResponseEntity.notFound().build();
}
ServiceInstance instance = instances.get(0);
return restTemplate.getForEntity(instance.getUri() + "/api/some-service/resource", String.class);
}
}
这个代码示例展示了如何在Spring Cloud框架下创建服务提供者和服务消费者。服务提供者暴露了一个REST接口,而服务消费者使用RestTemplate
调用服务提供者的接口。这里的服务消费者使用了Eureka的DiscoveryClient
来查找服务提供者的实例信息。这个简化的例子展示了微服务架构的基本模式,并且使用了Spring Cloud的一些核心组件。