# spring-cloud
**Repository Path**: ms-zhang/spring-cloud
## Basic Information
- **Project Name**: spring-cloud
- **Description**: 最简单的spring-cloud 使用
Netflix的部分组件及功能特性如下:
Eureka(服务注册与发现框架):一个基于REST风格的服务组件,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移
Ribbon(客户端负载均衡器):提供客户端负载均衡算法,将Netflix的中间层服务连接起来
Feign(声明式HTTP客户端):可以创建声明式、模板化的HTTP客户端,进行微服务调用
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2018-03-21
- **Last Updated**: 2020-12-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# spring-cloud
最简单的spring-cloud 使用
Netflix的部分组件及功能特性如下:
Eureka(服务注册与发现框架):一个基于REST风格的服务组件,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移
Ribbon(客户端负载均衡器):提供客户端负载均衡算法,将Netflix的中间层服务连接起来
Feign(声明式HTTP客户端):可以创建声明式、模板化的HTTP客户端,进行微服务调用

service1和service2 代码是一样的,只有配置文件中 server.port 端口不一样,
client-a 是 采用 Ribbon 进行服务调用 。
client-b 是采用 Feign 进行服务调用。
我用的是spring-boot 2.0版本 ,所以pom 文件中需要注意一下。
在 service 中 pom 文件 需要添加如下依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
在client-b 中 pom 文件 需要添加如下依赖
org.springframework.cloud
spring-cloud-starter-openfeign
在client-a 中pom 文件 需要添加如下依赖
org.springframework.cloud
spring-cloud-starter-netflix-ribbon
项目启动方式,如下图:
必须以spring-boot:run 启动。

先启动discovery ,然后在浏览器访问 http://localhost:8081/ 就可以看到服务注册中心了
之后再启动 service 就可以在注册中心看到服务提供者了,并且可以直接在浏览器访问暴露的服务了。
服务消费者有两种 : Feign 和 Ribbon
Feign(服务消费者)client-b
特点:
1,在application 中需要添加注释,启动Feign

2,需要添加一个接口 ,接口中的方法必须要和 service 中的一样,

Ribbon (服务消费者) client-a
特点:
1,需要在 application 中添加 RestTemplate

2,在调用的时候 需要通过 RestTemplate 来调用。
