# 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,以单机方式启动 ![输入图片说明](screenshot/%E5%8D%95%E6%9C%BA%E6%96%B9%E5%BC%8F%E5%90%AF%E5%8A%A8nacos.png) 2. 登录nacos,默认端口为8848,用户名、密码皆为nacos ![输入图片说明](screenshot/nacos%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2.png) 3. 配置命名空间,命名空间主要用于环境隔离,不同环境使用不同的配置 ![输入图片说明](screenshot/%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4.png) 4. 在配置管理-->配置列表,选择所配置的命名空间dev,在dev下添加生产者、消费者配置信息 ![输入图片说明](screenshot/%E7%94%9F%E4%BA%A7%E8%80%851.png) ![输入图片说明](screenshot/%E7%94%9F%E4%BA%A7%E8%80%852.png) ![输入图片说明](screenshot/%E6%B6%88%E8%B4%B9%E8%80%85.png) 6. 启动nacos-pro生产者,并验证是否成功 ![输入图片说明](screenshot/%E7%94%9F%E4%BA%A7%E8%80%851_28888.png) > 由于此生产者为了测试服务降级,此处故意设置了错误,上述截图信息代表已经成功启动 ``` @RequestMapping("/hello") public String hello() { // 测试消费者fegin客户端的服务降级功能 System.out.println(1/0); return "hello provider, server port " + port; } ``` > 服务降级配置 ![输入图片说明](screenshot/feign%E6%8E%A5%E5%8F%A3%E9%85%8D%E7%BD%AE.png) ![输入图片说明](screenshot/feign%E6%8E%A5%E5%8F%A3%E9%99%8D%E7%BA%A7%E9%85%8D%E7%BD%AE.png) 7. 启动nacos-pro1生产者,并验证是否成功 ![输入图片说明](screenshot/%E7%94%9F%E4%BA%A7%E8%80%852_38888.png) 8. 启动消费者nacos-con,并进行验证 ![输入图片说明](screenshot/%E6%B6%88%E8%B4%B9%E8%80%85_1.png) > 访问5次后服务会进行切换,从38888服务切换至28888 ![输入图片说明](screenshot/%E6%B6%88%E8%B4%B9%E8%80%85_2.png) > 注意观察后台日志 ![输入图片说明](screenshot/%E6%B6%88%E8%B4%B9%E8%80%85%E8%BD%AE%E8%AF%A2%E8%A7%84%E5%88%99.png) > 自定义负载均衡,轮询规则配置,算法在MyRule2类中 ``` @Configuration public class RuleConf { @Bean public IRule loadBalancedRule() { // return new MyRule(); return new MyRule2(); } } ``` #### 参与贡献 > **希望大家踊跃加入组织,一起学习,共同完善,携手进步!** :heart: