前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springcloud以类降级项目架构memberService中代码orderService中代码ordermember

springcloud以类降级项目架构memberService中代码orderService中代码ordermember

作者头像
用户5899361
发布2020-12-07 14:24:59
2010
发布2020-12-07 14:24:59
举报
文章被收录于专栏:学习java的小白

项目架构

memberService中代码

代码语言:javascript
复制
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

public interface MemberService {
    @RequestMapping(value = "testMember",method = RequestMethod.GET)
     public String testMember();
    @RequestMapping(value = "test",method = RequestMethod.GET)
    public String test();

orderService中代码

代码语言:javascript
复制
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

public interface OrderService {

    @RequestMapping(value = "testOrder",method = RequestMethod.GET)
    public String testOrder();
}

order

项目结构图

fallBack中代码

注意:该类实现的接口是feign中的接口

代码语言:javascript
复制
@Component
public class MemberFallBack implements MemberFeign {

    @Override
    public String testMember() {

        return "服务降级";
    }
    @Override
    public String test(){

        return "服务降级";
    }

MemberFeign中的代码

代码语言:javascript
复制
import com.bdqn.fallBack.MemberFallBack;
import com.bdqn.service.MemberService;
import org.springframework.cloud.openfeign.FeignClient;

@FeignClient(name = "member",fallback = MemberFallBack.class)
public interface MemberFeign extends MemberService {
}

orderService

代码语言:javascript
复制
@RestController
public class OrderService  {
    @Autowired
    private MemberFeign memberFeign;
    @RequestMapping("test")
    public String test(){
            return memberFeign.testMember();
        }

OrderStar

代码语言:javascript
复制
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class OrderStar {
    public static void main(String[] args) {
        SpringApplication.run(OrderStar.class,args);
    }

    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

application.yml配置文件

代码语言:javascript
复制
###服务启动端口号
server:
  port: 8000
###服务名称(服务注册到eureka名称)
spring:
  application:
    name: order
###服务注册到eureka地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8100/eureka


    ###因为该应用为注册中心,不会注册自己
    register-with-eureka: true
    ###是否需要从eureka上获取注册信息
    fetch-registry: true

###开启Hystrix断路器
feign:
  hystrix:
    enabled: true


##### hystrix禁止服务超时时间
#hystrix:
# command:
#   default:
#      execution:
#       timeout:
#        enabled: false
#

member

MemberServiceIpml

代码语言:javascript
复制
import com.bdqn.service.MemberService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MemberServiceIpml implements MemberService {
    @RequestMapping(value = "testMember",method = RequestMethod.GET)
    public String testMember() {
        try {
            Thread.sleep(1500);
        }catch (Exception e){}
        return "会员接口";
    }

    @Override
    public String test() {
            try {
            Thread.sleep(1500);
        }catch (Exception e){}
        return "会员接口";
    }
}

MemberStar

代码语言:javascript
复制
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class MemberStar {
    public static void main(String[] args) {
        SpringApplication.run(MemberStar.class,args);

    }
    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

application.yml

代码语言:javascript
复制
###服务启动端口号
server:
  port: 8001
###服务名称(服务注册到eureka名称)
spring:
  application:
    name: member
###服务注册到eureka地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8100/eureka


    ###因为该应用为注册中心,不会注册自己
    register-with-eureka: true
    ###是否需要从eureka上获取注册信息
    fetch-registry: true
###开启Hystrix断路器
feign:
  hystrix:
    enabled: true
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目架构
  • memberService中代码
  • orderService中代码
  • order
    • 项目结构图
      • fallBack中代码
        • MemberFeign中的代码
          • orderService
            • OrderStar
            • member
              • MemberServiceIpml
                • MemberStar
                  • application.yml
                  相关产品与服务
                  微服务引擎 TSE
                  微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档