Spring Cloud微服务开发框架
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性简化了分布式系统的开发,如服务发现、服务配置、负载均衡、断路器、智能路由、微代理、控制总线等。
以下是一个简单的Spring Cloud示例,使用Spring Cloud Netflix的Eureka作为服务注册中心。
- 创建Eureka服务注册中心:
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
application.properties:
spring.application.name=eureka-server
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
- 创建服务提供者(Eureka客户端):
@SpringBootApplication
@EnableEurekaClient
@RestController
public class ServiceProviderApplication {
private static final Logger LOG = LoggerFactory.getLogger(ServiceProviderApplication.class);
@Value("${spring.application.name}")
private String serviceId;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
LOG.info("hello service called");
return "Hello, " + serviceId;
}
public static void main(String[] args) {
SpringApplication.run(ServiceProviderApplication.class, args);
}
}
application.properties:
spring.application.name=service-provider
server.port=8080
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
启动Eureka服务注册中心,然后启动服务提供者。打开浏览器访问Eureka服务注册中心的地址,你将看到服务提供者已注册并且可用。
以上代码提供了一个简单的Eureka服务注册中心和服务提供者的示例。Spring Cloud还有许多其他功能,如服务间调用的Feign、全局锁的Zookeeper、分布式跟踪的Sleuth等,这些可以根据具体需求进行集成。
评论已关闭