# cloud
**Repository Path**: loveGG/cloud
## Basic Information
- **Project Name**: cloud
- **Description**: 一个简单的springcloud-alibaba项目,配置中心用nacos,调用使用openfeign。
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-12-01
- **Last Updated**: 2021-12-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SpringCloud, spring-cloud-alibaba, nacos, feign
## README
# **cloud**
#### 介绍
一个简单的spring-cloud-alibaba项目,配置中心使用nacos,远程调用使用openfeign;
其中有两个生产者[nacos-pro、nacos-pro1]和一个消费者[nacos-con]组成,消费者对外开放,
服务配置了负载均衡策略。
#### 软件架构
spring-boot 2.2.6.RELEASE
spring-cloud Hoxton.SR9
spring-cloud-alibaba 2.2.0.RELEASE
#### 项目结构
nacos-con 消费者 端口80
nacos-pro 生产者 端口28888
nacos-pro1 生产者 端口38888
#### 安装教程
1. 使用git clone方式或者从gitee页面自行下载项目至本地
2. 以maven工程方式导入至idea、eclipse或者其他开发工具
3. 使用者需自行搭建nacos服务端,用于微服务管理、配置中心
#### 使用说明
1. 启动nacos,在nacos\bin目录下执行命令startup -m standalone,以单机方式启动

2. 登录nacos,默认端口为8848,用户名、密码皆为nacos

3. 配置命名空间,命名空间主要用于环境隔离,不同环境使用不同的配置

4. 在配置管理-->配置列表,选择所配置的命名空间dev,在dev下添加生产者、消费者配置信息



6. 启动nacos-pro生产者,并验证是否成功

> 由于此生产者为了测试服务降级,此处故意设置了错误,上述截图信息代表已经成功启动
```
@RequestMapping("/hello")
public String hello() {
// 测试消费者fegin客户端的服务降级功能
System.out.println(1/0);
return "hello provider, server port " + port;
}
```
> 服务降级配置


7. 启动nacos-pro1生产者,并验证是否成功

8. 启动消费者nacos-con,并进行验证

> 访问5次后服务会进行切换,从38888服务切换至28888

> 注意观察后台日志

> 自定义负载均衡,轮询规则配置,算法在MyRule2类中
```
@Configuration
public class RuleConf {
@Bean
public IRule loadBalancedRule() {
// return new MyRule();
return new MyRule2();
}
}
```
#### 参与贡献
> **希望大家踊跃加入组织,一起学习,共同完善,携手进步!** :heart: