夜莺的 SpringCloud 系列手记之二:搭建一个简单的SpringCloud应用程序

序言

SpringCloud应用程序最大的特点就是由多个SpringBoot微服务组成,他们之间可以相互消费,相互调用。

项目搭建

废话不多说,我直接上项目结构图:

cloud    //项目根目录
│
├── pom.xml    //父模块pom文件
│
├── server-eureka    //服务注册和发现服务
│   ├── pom.xml    
│   └── src    //源码目录
├── server-product    //product服务
│   ├── pom.xml
│   └── src
└── server-user    //user服务
    ├── pom.xml
    └── src

SpringCloud项目是一个多Module的项目,首先创建父项目:cloud,在父项目下新建Module子项目。

首先创建服务发现和注册服务:server-eureka,并进行配置,主要依赖只需要这一个:

# POM.xml依赖


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-server


# application.xml配置文件

# 服务端口
server.port=8761

# 服务名,每个微服务都必须指定一个唯一的服务名
spring.application.name=server-eureka

# 服务发现服务配置
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
eureka.instance.hostname=http://localhost:8761

其次是SpringBoot启动类:

//标记为服务注册服务
@EnableEurekaServer
@SpringBootApplication
public class ServerEurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServerEurekaApplication.class, args);
    }

}

一个服务注册/发现服务就完成了。接下来是“server-product”服务,新建一个子Module,命名为“server-product”,作为服务提供者:

application.perperties配置文件:

server.port=8763

spring.application.name=server-product

eureka.client.service-url.default-zone=http://localhost:8761/eureka/

“server-product”启动类:

​@RestController
//标记为已注册的微服务
@EnableEurekaClient
@SpringBootApplication
public class ServerProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServerProductApplication.class, args);
    }

    //随意写一个简单的接口,作为向外部暴露的接口
    @GetMapping("/products/name/{name}")
    public String getProducts(@PathVariable String name) {
        return name;
    }

}

​

接下来新搭建服务“server-user”,新建一个子Module,作为服务消费者:

application.properties:

server.port=8762

spring.application.name=server-user

eureka.client.service-url.default-zone=http://localhost:8761/eureka/

“server-user”启动类:

//标记为已注册的微服务
@EnableEurekaClient
//标记为Feign客户端
@EnableFeignClients
@SpringBootApplication
public class ServerUserApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServerUserApplication.class, args);
    }

}

 

你可能感兴趣的:(夜莺的 SpringCloud 系列手记之二:搭建一个简单的SpringCloud应用程序)