一、搭建注册中心
1.1、创建一个cloud-service项目
1.2:POM文件依赖
1 <? 2 <project 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.tiandy</groupId> 7 <artifactId>cloud-service</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>cloud-service</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>1.5.9.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> 26 </properties> 27 28 <dependencies> 29 30 <dependency> 31 <groupId>org.springframework.boot</groupId> 32 <artifactId>spring-boot-starter-web</artifactId> 33 </dependency> 34 35 <dependency> 36 <groupId>org.springframework.cloud</groupId> 37 <artifactId>spring-cloud-starter-eureka</artifactId> 38 </dependency> 39 <!-- @HystrixCommand注解 --> 40 <dependency> 41 <groupId>com.netflix.hystrix</groupId> 42 <artifactId>hystrix-javanica</artifactId> 43 </dependency> 44 <dependency> 45 <groupId>org.springframework.cloud</groupId> 46 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 47 </dependency> 48 <!-- 声明调用 --> 49 <dependency> 50 <groupId>org.springframework.cloud</groupId> 51 <artifactId>spring-cloud-starter-openfeign</artifactId> 52 </dependency> 53 <!-- 服务容错 --> 54 <dependency> 55 <groupId>org.springframework.cloud</groupId> 56 <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> 57 </dependency> 58 59 <!--网关zuul--> 60 <dependency> 61 <groupId>org.springframework.cloud</groupId> 62 <artifactId>spring-cloud-starter-netflix-zuul</artifactId> 63 </dependency> 64 65 <!--实体中的Date注解,不用get set--> 66 <dependency> 67 <groupId>org.projectlombok</groupId> 68 <artifactId>lombok</artifactId> 69 </dependency> 70 71 72 <dependency> 73 <groupId>org.springframework.boot</groupId> 74 <artifactId>spring-boot-starter-test</artifactId> 75 <scope>test</scope> 76 </dependency> 77 78 79 </dependencies> 80 81 <dependencyManagement> 82 <dependencies> 83 <dependency> 84 <groupId>org.springframework.cloud</groupId> 85 <artifactId>spring-cloud-dependencies</artifactId> 86 <version>${spring-cloud.version}</version> 87 <type>pom</type> 88 <scope>import</scope> 89 </dependency> 90 </dependencies> 91 </dependencyManagement> 92 93 <build> 94 <plugins> 95 <plugin> 96 <groupId>org.springframework.boot</groupId> 97 <artifactId>spring-boot-maven-plugin</artifactId> 98 </plugin> 99 </plugins>100 </build>101 102 </project>
1.3:application.yml配置文件
1.4:启动类CloudServiceApplication
1 package com.tiandy.myclient; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 6 import org.springframework.cloud.netflix.hystrix.EnableHystrix; 7 8 @EnableEurekaClient 9 @EnableHystrix10 @SpringBootApplication11 public class MyClientApplication {12 13 public static void main(String[] args) {14 SpringApplication.run(MyClientApplication.class, args);15 }16 }
说明:@EnableEurekaClient是开启Eureka服务注册中心功能注解,@EnableHystrix是开始Hystrix功能注解
1.5:启动MyClientApplication 服务
服务启动成功后,访 src="https://img2020.cnblogs.com/blog/1508950/202107/1508950-20210706203741665-2007611340.png" alt="" loading="lazy">
二、spring cloud创建服务提供者
2.1、创建一个my-client项目
2.1:POM文件依赖
1 <??> 2 <project ="http://maven.apache.org/POM/4.0.0" ="http://www.w3.org/2001/ 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.tiandy</groupId> 7 <artifactId>my-client</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>sbc-providers</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>1.5.9.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> 26 </properties> 27 28 <dependencies> 29 30 <dependency> 31 <groupId>org.springframework.boot</groupId> 32 <artifactId>spring-boot-starter-web</artifactId> 33 </dependency> 34 <dependency> 35 <groupId>org.springframework.cloud</groupId> 36 <artifactId>spring-cloud-starter-eureka</artifactId> 37 </dependency> 38 <!-- @HystrixCommand注解 --> 39 <dependency> 40 <groupId>com.netflix.hystrix</groupId> 41 <artifactId>hystrix-javanica</artifactId> 42 </dependency> 43 <dependency> 44 <groupId>org.springframework.cloud</groupId> 45 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 46 </dependency> 47 <!-- 声明调用 --> 48 <dependency> 49 <groupId>org.springframework.cloud</groupId> 50 <artifactId>spring-cloud-starter-openfeign</artifactId> 51 </dependency> 52 <!-- 服务容错 --> 53 <dependency> 54 <groupId>org.springframework.cloud</groupId> 55 <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> 56 </dependency> 57 58 <!--网关zuul--> 59 <dependency> 60 <groupId>org.springframework.cloud</groupId> 61 <artifactId>spring-cloud-starter-netflix-zuul</artifactId> 62 </dependency> 63 64 <!--实体中的Date注解,不用get set--> 65 <dependency> 66 <groupId>org.projectlombok</groupId> 67 <artifactId>lombok</artifactId> 68 </dependency> 69 70 71 <dependency> 72 <groupId>org.springframework.boot</groupId> 73 <artifactId>spring-boot-starter-test</artifactId> 74 <scope>test</scope> 75 </dependency> 76 77 78 </dependencies> 79 80 <dependencyManagement> 81 <dependencies> 82 <dependency> 83 <groupId>org.springframework.cloud</groupId> 84 <artifactId>spring-cloud-dependencies</artifactId> 85 <version>${spring-cloud.version}</version> 86 <type>pom</type> 87 <scope>import</scope> 88 </dependency> 89 </dependencies> 90 </dependencyManagement> 91 92 <build> 93 <plugins> 94 <plugin> 95 <groupId>org.springframework.boot</groupId> 96 <artifactId>spring-boot-maven-plugin</artifactId> 97 </plugin> 98 </plugins> 99 </build>100 101 </project>
2.3:application.yml配置文件
1 server: 2 port: 8800 3 spring: 4 application: 5 name: product-client #为你的应用起个名字,该名字将注册到eureka注册中心 6 eureka: 7 client: 8 serviceUrl: 9 defaultZone: http://localhost:8761/eureka/ #去哪里注册,eureka服务地址10 11 hystrix:12 command:13 default:14 execution:15 isolation:16 thread:17 timeoutInMilliseconds:10000 #超时时间
2.4:实例类VO-User
1 package com.tiandy.myclient.vo; 2 3 import lombok.Data; 4 import java.io.Serializable; 5 6 @Data 7 public class User implements Serializable { 8 9 private String id;10 11 private String name;12 13 private Integer age;14 15 @Override16 public String toString() {17 return "User{" +18 "id='" + id + '\'' +19 ", name='" + name + '\'' +20 ", age=" + age +21 '}';22 }23 }
2.5:HelloController业务控制类
1 package com.tiandy.myclient.controller; 2 import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; 3 import com.tiandy.myclient.vo.User; 4 import org.springframework.web.bind.annotation.PathVariable; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 @RestController 8 public class HelloController { 9 10 @RequestMapping("/hello/{fallback}")11 @HystrixCommand(fallbackMethod="fallbackMethod")/*调用方式失败后调用helloFallbackMethod*/12 public String hello(@PathVariable("fallback") String fallback){13 if("1".equals(fallback)){14 throw new RuntimeException("...");15 }16 return "走网关了: hello zuul !";17 }18 19 public String fallbackMethod(String fallback){20 return "【触发了Hystrix熔断机制,调用了fallbackMethod方法...】";21 }22 23 @RequestMapping("/getUserById/{fallback}")24 public String getUserById(@PathVariable("fallback") String fallback){25 User user=new User();26 user.setId("101");27 user.setAge(32);28 user.setName("司藤");29 if(!fallback.equals("101")){30 throw new RuntimeException("...");31 }32 String userInfo=user.toString();33 System.out.println(userInfo);34 return userInfo;35 }36 }
2.6:服务启动类MyClientApplication
1 package com.tiandy.myclient; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 6 import org.springframework.cloud.netflix.hystrix.EnableHystrix; 7 8 @EnableEurekaClient 9 @EnableHystrix10 @SpringBootApplication11 public class MyClientApplication {12 13 public static void main(String[] args) {14 SpringApplication.run(MyClientApplication.class, args);15 }16 }
2.7:启动服务,看服务product-client是否注册到了注册中心
启动成功后,访 src="https://img2020.cnblogs.com/blog/1508950/202107/1508950-20210706205538302-1134181001.png" alt="" loading="lazy">
三、spring cloud创建服务消费者
3.1、创建一个my-consumert项目
3.2:POM文件依赖
1 <? 2 <project 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.tiandy</groupId> 7 <artifactId>my-consumer</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>my-consumer</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>1.5.9.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> 26 </properties> 27 28 <dependencies> 29 30 <dependency> 31 <groupId>org.springframework.boot</groupId> 32 <artifactId>spring-boot-starter-web</artifactId> 33 </dependency> 34 <dependency> 35 <groupId>org.springframework.cloud</groupId> 36 <artifactId>spring-cloud-starter-eureka</artifactId> 37 </dependency> 38 <!-- @HystrixCommand注解 --> 39 <dependency> 40 <groupId>com.netflix.hystrix</groupId> 41 <artifactId>hystrix-javanica</artifactId> 42 </dependency> 43 <dependency> 44 <groupId>org.springframework.cloud</groupId> 45 <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> 46 </dependency> 47 <!-- 声明调用 --> 48 <dependency> 49 <groupId>org.springframework.cloud</groupId> 50 <artifactId>spring-cloud-starter-openfeign</artifactId> 51 </dependency> 52 <!-- 服务容错 --> 53 <dependency> 54 <groupId>org.springframework.cloud</groupId> 55 <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> 56 </dependency> 57 58 <!--网关zuul--> 59 <dependency> 60 <groupId>org.springframework.cloud</groupId> 61 <artifactId>spring-cloud-starter-netflix-zuul</artifactId> 62 </dependency> 63 64 <!--实体中的Date注解,不用get set--> 65 &l......原文转载:http://www.shaoqun.com/a/851335.html
跨境电商:https://www.ikjzd.com/
亿恩:https://www.ikjzd.com/w/1461
巴克莱:https://www.ikjzd.com/w/2775
Sunrate:https://www.ikjzd.com/w/2685
一、搭建注册中心1.1、创建一个cloud-service项目1.2:POM文件依赖1<?2<project3xsi:schemaLocation="http://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4.0.0.xsd">4<modelVersion>4.0.0&
你以为出价1.23刀的恶意跟卖只是抢钱这么简单?:https://www.ikjzd.com/articles/100756
产品老是被海关扣?危险品是如何鉴定的?:https://www.ikjzd.com/articles/100757
外贸课堂:如何挽回一个快要"变心"的买家?:https://www.ikjzd.com/articles/100758
路透社:美国将豁免110种中国产品高额关税:https://www.ikjzd.com/articles/100761
口述男朋友在车里㖭我下面 他的舌头弄得我欲仙欲死:http://lady.shaoqun.com/a/247531.html
老师在我胯下呻呤 老师的屁股又白又大:http://lady.shaoqun.com/a/247323.html
小宝贝把腿张开让我㖭 张开双腿迎合着两个男人:http://lady.shaoqun.com/m/a/248304.html
妇女上厕所正面尿尿 学校女厕所真实图片:http://www.30bags.com/m/a/249670.html
怀孕后可以合住一个房间吗?对胎儿有没有伤害?关于合住一个房间应该注意的问题都在这里:http://lady.shaoqun.com/a/405821.html
女性性幻想很丰富。你吃过这十种中的几种:http://lady.shaoqun.com/a/405823.html
沉迷手淫的女孩:我的身体是我自己的:http://lady.shaoqun.com/a/405824.html
东南亚疫情加剧,Lazada&Shopee运动户外品类线上需求暴涨:https://www.ikjzd.com/articles/146421
No comments:
Post a Comment