Eureka-server是服务注册中心,服务提供方需要将自己的服务在Eureka注册,消费者才能从Eureka消费服务。在这个过程中参与角色有三个:Eureka-Server(服务注册中心)、Spring-Cloud-Provider(服务提供者)、Spring-Cloud-Consumer(服务消费者)

Eureka-Server

Eureka服务依然是上篇文章的案例。

Spring-Cloud-Provider

1 配置文件(依赖的jar包与上案例相同):

 
		<dependency>
			<groupId>org.spring work.cloud</groupId>
			<artifactId>spring-cloud-starter</artifactId>
			<version>2.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.spring work.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
			<version>2.0.2.RELEASE</version>
		</dependency>
spring.application.name=spring-cloud-provider
server.port=8009
#指向服务注册中心
eureka.client.serviceUrl.defaultZone=http://localhost:8008/eureka/

2 提供的服务(编写一个简单的控制类,拦截hello.action请求,返回\"Hello World\")

@Controller
public class HelloController {
    
    @RequestMapping(\"/hello.action\")
    @ResponseBody
    public String hello(){
        return \"Hello World\";
    }
}

3 在application.class加上@EnableDiscoverClient,添加注解后,项目就具有了服务注册的功能。启动工程后,就可以在注册中心的页面看到spring-cloud-provider服务。

\"\"

Spring-Cloud-Consumer

1 导入依赖的jar包

	<dependency>
			<groupId>org.spring work.cloud</groupId>
			<artifactId>spring-cloud-starter</artifactId>
			<version>2.0.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.spring work.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
			<version>2.0.2.RELEASE</version>
		</dependency>
        <dependency>
            <groupId>org.spring work.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>

2 配置文件

spring.application.name=spring-cloud-consumer
server.port=8010
eureka.client.serviceUrl.defaultZone=http://localhost:8008/eureka/

3 服务调用接口(调用服务提供方的服务)fallback是调用失败返回指定结果

@Component
@FeignClient(name=\"spring-cloud-provider\",fallback = Fail.class)
public interface HelloService {
    @RequestMapping(\"hello.action\")
    public String say();
}

4 Fail类代码

public class Fail implements  HelloService{

    @Override
    public String say() {
        return \"服务调用失败\";
    }
}

5 在DemoApplication类加上@EnableDiscoveryClient;@EnableFeignClients(调用服务)注解

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class DemoApplication {

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

}

运行结果:

启动服务输入 http://localhost:8010/haha.action ,输出\"Hello World\"

\"\"

 

 

收藏 打印