上篇文章的图再放一次,多看,多理解,熟记于心。
创建“服务提供方”
上一篇文章已经创建好了商场(Eureka注册中心),文章地址:Spring Cloud微服务架构——Eureka注册中心,现在我们可以让商家入驻商场了,即服务注册。
快速构建一个Spring Boot工程,方法可以参考上篇文章。
- 修改pom.xml文件,引入Spring Cloud必要依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.jqcode</groupId>
<artifactId>eureka-provider1</artifactId>
<version>0.0.1</version>
<name>eureka-provider1</name>
<description>eureka provider1</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- 创建一个服务项目,这里就假定一个餐饮服务。
@RestController
public class FoodController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private DiscoveryClient client; // 用于服务注册
@RequestMapping(value = "/eat", method = RequestMethod.GET)
public String foodService(String customerName){
ServiceInstance instance = client.getLocalServiceInstance();
logger.info("host:" + instance.getHost() + ",service_id:" + instance.getServiceId());
return "尊敬的顾客:" + customerName + ",您好!欢迎光临海底捞6666号分店!";
}
}
- 启动类上加上@EnableDiscoveryClient注解
@EnableDiscoveryClient // 激活Eureka中DiscoveryClient的实现
@SpringBootApplication
public class EurekaProvider1Application {
public static void main(String[] args) {
SpringApplication.run(EurekaProvider1Application.class, args);
}
}
- 修改application.properties配置文件
#服务提供者1启动端口
server.port=9001
#服务名
spring.application.name=food-service
#注册中心服务地址
eureka.client.serviceUrl.defaultZone=http://loaclhost:8000/eureka
启动该项目,再次访问:http://localhost:8000
从页面上我们可以看到,我们的餐饮服务已经入驻到了商场(服务提供者已经注册到了Eureka注册中心)