简介

springcloud电子商务社交平台源码请加企鹅求求:一零三八七七四六二六。上一节我们讨论feign的配置,这节我们讨论一下,feign+hystrix调用生产者时,进行容错处理。

一、创建模块(microservice-consumer-movie-feign-with-hystrix)

二、pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>microservice-spring-cloud</artifactId><groupId>com.jacky</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>microservice-consumer-movie-feign-with-hystrix</artifactId><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId></dependency></dependencies><build><plugins><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><executions><!--设置在执行maven 的install时构建镜像--><execution><id>build-image</id><phase>install</phase><goals><goal>build</goal></goals></execution></executions><configuration><!--安装了docker的主机,并且打开了api remote接口设置--><dockerHost>http://192.168.6.130:5678</dockerHost><pushImage>true</pushImage><!--设置上传镜像到私有仓库,需要docker设置指定私有仓库地址--><!--镜像名称--><imageName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:${project.version}</imageName><!--镜像的基础版本--><baseImage>java:openjdk-8-jdk-alpine</baseImage><!--镜像启动参数--><entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin></plugins></build>
</project>复制代码

三、配置文件application.yml

spring:application:name: microservice-consumer-movie-feign-with-hystrix
server:port: 7901
eureka:client:healthcheck:enabled: trueserviceUrl:defaultZone: http://jacky:admin@peer1:8761/eureka/,http://jacky:admin@peer2:8762/eureka/,http://jacky:admin@peer3:8763/eureka/instance:prefer-ip-address: trueinstance-id: ${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}}复制代码

四、实体类User.java

package com.jacky.cloud.entity;import java.math.BigDecimal;public class User {private Long id;private String username;private String name;private Short age;private BigDecimal balance;public Long getId() {return this.id;}public void setId(Long id) {this.id = id;}public String getUsername() {return this.username;}public void setUsername(String username) {this.username = username;}public String getName() {return this.name;}public void setName(String name) {this.name = name;}public Short getAge() {return this.age;}public void setAge(Short age) {this.age = age;}public BigDecimal getBalance() {return this.balance;}public void setBalance(BigDecimal balance) {this.balance = balance;}}复制代码

五、生产者发生错误时使用的类(HystrixClientFallback.java)

package com.jacky.cloud.feign;import org.springframework.stereotype.Component;import com.jacky.cloud.entity.User;@Component
public class HystrixClientFallback implements UserFeignClient {@Overridepublic User findById(Long id) {User user = new User();user.setId(0L);return user;}
}复制代码

六、feign客户端UserFeignClient.java

package com.jacky.cloud.feign;import com.jacky.cloud.entity.User;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@FeignClient(name = "microservice-provider-user", fallback = HystrixClientFallback.class)
public interface UserFeignClient {@RequestMapping(value = "/simple/{id}", method = RequestMethod.GET)public User findById(@PathVariable("id") Long id);
}复制代码

七、MovieController.java

package com.jacky.cloud.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;import com.jacky.cloud.entity.User;
import com.jacky.cloud.feign.UserFeignClient;@RestController
public class MovieController {@Autowiredprivate UserFeignClient userFeignClient;@GetMapping("/movie/{id}")public User findById(@PathVariable Long id) {return this.userFeignClient.findById(id);}
}复制代码

八、启动类

package com.jacky.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@EnableCircuitBreaker
public class ConsumerMovieFeignApplication {public static void main(String[] args) {SpringApplication.run(ConsumerMovieFeignApplication.class, args);}
}复制代码

需要JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六

标签:b2b2c,o2o电子商务,java多用户商城系统,spring cloud,java版社交电子商务

转载于:https://juejin.im/post/5cf61d42e51d45775b419b8f

java spring cloud版b2b2c社交电商spring cloud分布式微服务-docker-feign-hystrix(六)相关推荐

  1. java spring cloud版b2b2c社交电商spring cloud分布式微服务:分布式配置中心

    JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Config是Spring Cloud团队创建的一个 ...

  2. java spring cloud版b2b2c社交电商spring cloud分布式微服务:服务注册与发现(Eureka、Consul)...

    Spring Cloud简介 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配 ...

  3. java版b2b2c社交电商spring cloud分布式微服务-服务提供与调用

    java版b2b2c社交电商spring cloud分布式微服务源码请加企鹅求求:一零三八七七四六二六.上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册 ...

  4. java版b2b2c社交电商spring cloud分布式微服务:服务消费(Ribbon)

    Spring Cloud Ribbon 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具.它 ...

  5. (十六)java springcloud版b2b2c社交电商spring cloud分布式微服务-使用spring cloud Bus刷新配置...

    b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c的业务服 ...

  6. java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)...

    Springcloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取 ...

  7. (十二)java版b2b2c社交电商spring cloud分布式微服务:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪...

    Spring Cloud Sleuth Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.一般的,一个分布式服务跟踪系统,主要有三部分:数据收集.数据存储和数 ...

  8. java springcloud版b2b2c社交电商spring cloud分布式微服务-docker-feign(四)

    简介 Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.上一节,我们讨论了怎么通过,restTemlate调用cloud的生产者,实现起 ...

  9. java版b2b2c社交电商spring cloud分布式微服务(二) 服务消费者(rest+ribbon)

    一.ribbon简介 Ribbon is a client side load balancer which gives you a lot of control over the behaviour ...

最新文章

  1. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
  2. Python进阶4——元组与拆包
  3. 编程沉思-做一款小巧而好用的截图软件
  4. 二十九、Java的异常处理
  5. IT应聘者的简历应该是怎么样的?
  6. 【转】C#搭建Oauth2.0认证流程以及代码示例
  7. java daemon线程的作用_JAVA DAEMON线程的理解
  8. Nexus启动失败处理:The nexus service was launched, but failed to start.
  9. JQuery中常用方法备忘
  10. windows打流工具IxChariot使用教程
  11. gps数据处理 java_GPS数据读取与处理
  12. DM数据库查询错误码
  13. 银行流水、财报、年报、电费分割单等各类文档一键提取,达观表格提取工具再升级!
  14. 人人商城h5无法登录
  15. 计算机文件夹中看不到桌面图标,电脑文件夹内不显示图标
  16. 项目使用mybatis-plus采用mysql/clickhouse多数据库配置,报错Invalid bound statement (not found)
  17. 数学管理联考-无限循环小数如何转化为分数
  18. 教程向|3D建模最难之面部雕刻,详细教程带给大家(下)
  19. 微信小程序开发——MySQl存储微信昵称的特殊表情
  20. 最终幻想14 服务器维护,《FF14》服务器遭到攻击 官方补偿方案今日不收时长费...

热门文章

  1. crypto安装_KubeEdge 完整安装 amp; 部署小指南
  2. python编程图片_python下载百度图片,python图片下载程序
  3. inet_ntop php,inet_ntop()
  4. spark连接Oracle数据库,Spark通过jdbc采用分区的方式从oracle读数据
  5. matlab 堆叠状柱状图
  6. 【 ML 】Steepest Descent Iteration Procedure of TOA - Based Positioning Simulation
  7. 【 MATLAB 】Rational Transfer Function(有理传递函数)
  8. 《Hadoop与大数据挖掘》一2.3.5 动手实践:运行MapReduce任务
  9. 20145234黄斐《Java程序设计》第五周
  10. DDoS攻击与CC攻击的区别