微服务是一种架构风格,它将单一应用程序拆分成一组小型服务,每个服务运行在自己的进程中,服务之间通过轻量级的通信机制进行通信。Spring Cloud是一个提供工具支持以快速简便的方式构建微服务系统的Spring子项目。
以下是一个简单的Spring Cloud微服务示例,使用Spring Boot和Spring Cloud Netflix的Eureka进行服务注册与发现。
- 创建服务注册中心(Eureka Server):
@EnableEurekaServer
@SpringBootApplication
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 Client):
@EnableEurekaClient
@SpringBootApplication
public class ServiceProviderApplication {
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/
一个REST控制器示例:
@RestController
public class ServiceController {
@GetMapping("/hello/{name}")
public String hello(@PathVariable String name) {
return "Hello, " + name + "!";
}
}
这个简单的例子展示了如何使用Spring Cloud Eureka创建一个基本的微服务架构。服务注册中心(Eureka Server)提供服务发现的功能,服务提供者(Eureka Client)将自己注册到服务注册中心,并提供REST API服务。