idea搭建springcloud项目_springcloud项目搭建第五节:Ribbon

基于上一节项目的基础在创建一个business-service的项目叫business-service-two,这里需要注意的是不要修改配置文件中的服务名称,只有修改下端口号就可以了,business-service-two项目的application.yml配置

server:  port: 8905eureka:  client:    service-url:      defaultZone: http://127.0.0.1:8901/eurekaspring:  application:    name: business-service  datasource:    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://127.0.0.1:33067/tas?characterEncoding=UTF-8&useUnicode=true&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8    username: root    password: 123456mybatis:  type-aliases-package: com.yd.entity.*instance:  # 开启使用ip地址  prefer-ip-address: true  # 设置指定ip地址  ip-address: 127.0.0.1  # 续约间隔默认30秒  lease-renewal-interval-in-seconds: 5  # 服务失效时间默认90秒  lease-expiration-duration-in-seconds: 20

然后在business-client项目的启动类在实例化restTemplate的方法上添加负载均衡@LoadBalanced注解

package com.yd;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.client.loadbalancer.LoadBalanced;import org.springframework.context.annotation.Bean;import org.springframework.web.client.RestTemplate;/** * @Author: zengyz * @Date: 2020/11/5 15:19 */@SpringBootApplication/*DiscoveryClient使用 */@EnableDiscoveryClientpublic class BusinessClientApplication {    public static void main(String[] args) {        SpringApplication.run(BusinessClientApplication.class, args);    }    @Bean    @LoadBalanced    public RestTemplate restTemplate(){        return new RestTemplate();    }}

然后还控制类测试方法中修改请求地址为http://business-service/user/test

package com.yd;import com.netflix.appinfo.InstanceInfo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cloud.client.ServiceInstance;import org.springframework.cloud.client.discovery.DiscoveryClient;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate;import java.util.List;/** * @Author: zengyz * @Date: 2020/11/4 14:44 */@RestController@RequestMapping("/user")public class UserController {    @Autowired    private RestTemplate restTemplate;    @Autowired    DiscoveryClient discoveryClient;    @GetMapping("/clientTest")    public String clientTest(){//        方法一:指定地址        String url = "http://windows10.microdone.cn:8902/user/test";        List serviceInstanceList= discoveryClient.getInstances("business-service");        ServiceInstance serviceInstance=serviceInstanceList.get(0);//        url= "http://"+serviceInstance.getHost() +":"+serviceInstance.getPort()+"/user/test";        url = "http://business-service/user/test";        String str= restTemplate.getForObject(url, String.class);        return str;    }}

地址中的business-service就是注册到服务中心的服务它对应了2个地址,如图

b9ed96e2a99276b5b5214711d801e896.png

这时就可以通过测试方法接口看返回接口了,为了看效果吧business-service的方法结果设置成不一样的

a511c6a8643d0d142f477de2a4a2c50a.png

9804d2efbb63d4831b58a701cc2171b1.png

如果要修改负载均衡的策略,默认轮询,可通过在服务项目中配置:

服务名称.ribbon.NFLoadBalancerRuleClassName 来指定策略

项目源码链接:https://pan.baidu.com/s/15ZUpW631eALIKqTmyqbCcQ

提取码:z3nv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个Spring Cloud项目,你可以按照以下步骤进行操作: 第一步:访问Spring Cloud官网,阅读相关文档并了解Spring Cloud的基本概念和功能。 第二步:在项目的pom.xml文件中添加Ribbon依赖。你可以在dependencies标签中添加以下代码: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency> ``` 第三步:创建一个启动类,并添加必要的注解。你可以创建一个名为EurekaConsumerApplication的Java类,代码如下: ```java package com.yun; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient //当前使用eureka的server public class EurekaConsumerApplication { public static void main(String[] args) { SpringApplication.run(EurekaConsumerApplication.class,args); } } ``` 这样,你就成功搭建了一个基于Spring Cloud的项目。你可以根据具体需求进行进一步的配置和开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [从零搭建SpringCloud服务(史上最详细)](https://blog.csdn.net/qq_29519041/article/details/85238270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值