Hystrix 熔断器02 —— 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>dym_cloud2021</artifactId><groupId>com.atguigu.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-provider-hystrix-payment8001</artifactId><dependencies><!--hystrix--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><!--eureka client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity --><groupId>com.atguigu.springcloud</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
application.yml
server:port: 8001spring:application:name: cloud-provider-hystrix-paymenteureka:client:register-with-eureka: truefetch-registry: trueservice-url:#defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eurekadefaultZone: http://localhost:7001/eureka
PaymentHystrixMain8001.java
package com.dym.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class PaymentHystrixMain8001 {public static void main(String[] args) {SpringApplication.run(PaymentHystrixMain8001.class, args);}}
PaymentService.java
package com.dym.springcloud.service;import org.springframework.stereotype.Service;import java.util.concurrent.TimeUnit;@Service
public class PaymentService {/*** 正常访问,肯定OK*/public String paymentInfo_OK(Integer id) {return "线程池: " + Thread.currentThread().getName() + " paymentInfo_OK,id: " + id + "\t" + "O(∩_∩)O哈哈~";}public String paymentInfo_TimeOut(Integer id) {int timeNumber=3;try {TimeUnit.MILLISECONDS.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}return "线程池: " + Thread.currentThread().getName() + " id: " + id + "\t" + "O(∩_∩)O哈哈~" + " 耗时(秒): "+timeNumber;}}
PaymentController.java
package com.dym.springcloud.controller;import com.dym.springcloud.service.PaymentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;@RestController
@Slf4j
public class PaymentController
{@Resourceprivate PaymentService paymentService;@Value("${server.port}")private String serverPort;@GetMapping("/payment/hystrix/ok/{id}")public String paymentInfo_OK(@PathVariable("id") Integer id){String result = paymentService.paymentInfo_OK(id);log.info("*****result: "+result);return result;}@GetMapping("/payment/hystrix/timeout/{id}")public String paymentInfo_TimeOut(@PathVariable("id") Integer id){String result = paymentService.paymentInfo_TimeOut(id);log.info("*****result: "+result);return result;}}
Hystrix 熔断器02 —— hystrix 案例之构建相关推荐
- Hystrix 熔断器02 —— hystrix 案例之高并发测试
下载地址 https://jmeter.apache.org/download_jmeter.cgi pom.xml <?xml version="1.0" encod ...
- Hystrix 熔断器03 —— hystrix 案例之高并发测试案例的解决方案
- SpringCloud Hystrix熔断器
SpringCloud Hystrix熔断器 15.Hystrix熔断器:简介及作用 目标:理解Hystrix的作用 介绍:Hystrix,英文意思是豪猪,全身是刺,看起来就不好惹,是一种保护机制. ...
- hystrix 熔断器
源码: https://gitee.com/GXQ205153964/Hystrix-parent.git Hystrix概述: hystrix是Netflix开源的一个延迟和容错库,用于隔离访问远程 ...
- 一文带你了解Ribbon负载均衡和Hystrix熔断器
文章目录 1. Ribbon负载均衡 1.1 关于负载均衡 1.2 Ribbon高级应用 1.3 Ribbon负载均衡策略 1.4 Ribbon核心源码剖析 2. Hystrix熔断器 2.1 微服务 ...
- Ribbon 负载均衡 和 Hystrix熔断器
1 Ribbon负载均衡 1.1 关于负载均衡 负载均衡一般分为服务器端负载均衡和客户端负载均衡 所谓服务器端负载均衡,比如Nginx.F5这些,请求到达服务器之后由这些负载均衡器根据一定的算法将请求 ...
- 学习笔记Hystrix熔断器
Hystrix原理 背景 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务.如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最 ...
- Spring Cloud 集成 Hystrix 熔断器
文章目录 Hystrix 熔断器 Hystrix 概述 Hystrix 降级 服务提供方 步骤 pom.xml(依赖) GoodsController.java(包含降级方法) 启动类(@Enable ...
- spring cloud 熔断_Spring Cloud 熔断器/断路器 Hystrix
在微服务架构中,业务会被拆分成一个个服务,服务间可以彼此调用.为了保证服务的高可用性,单个服务通常会被集群部署,但是由于网络等原因,服务并不能保证100%可用.如果某个服务出现了问题,那么调用这个服务 ...
最新文章
- 看微软如何发展 Windows 下一代系统
- XML学习笔记01【xml_基础、xml_约束】
- 将图片序列化和反序列化
- RC电路输出波形的时域与频域分析
- mysql clickhouse_通过mysql操作clickhouse
- 软考信息系统项目管理师_项目范围管理1---软考高级之信息系统项目管理师011
- iTerm2 + oh my zsh +agnoster 打造最强Mac终端
- 更新智能开发研发进度
- 《深入理解计算机系统》家庭作业
- 这也许是你不曾留意过的 Mybatis 细节 1
- C# 自定义网格 dataGridView 初始化 修改数据
- 华为盒子 原生android,华为悦盒/各种安卓盒子找回原生设置以及适配蓝牙遥控器...
- xss--跨站脚本攻击
- 阿里云云计算ACP学习(一)---弹性计算
- 前端实现antd文本域限制字数
- 关于爱情和婚姻的见解
- 从古代遗传下来的设计值得一看!
- Java并发25 ThreadFactory使用的必要性
- 疯狂管道鸟--纯JS小游戏
- TNS-12547和TNS-12555错误解决