Spring Cloud 5分钟搭建教程

1.前言:git

1.1.如下内容是我经过阅读官方文档,并成功实践后的经验总结,但愿能帮助你更快地理解和使用Spring Cloud.github

1.2.默认读者已经熟练掌握Spring 全家桶,Spring Boot和注解开发.spring

1.3.陆续更新apache

2.开发环境: @Deprecated浏览器

2.1.开发工具:idea架构

2.2.开发环境:jdk1.7负载均衡

2.3.Spring版本:maven

2.3.1.Spring Boot :1.4.0 release分布式

2.3.2.Spring Cloud : Camden SR2ide

3.demo:(献给急于速成的各位大兄弟): demo地址: https://github.com/leoChaoGlut/spring-cloud-demo

3.1.服务注册demo:

Spring Cloud 5分钟搭建教程

 

3.1.1.建立工程模块,如图所示

3.1.2.将官方提供的maven依赖,加入pom.

若是想学习Java工程化、高性能及分布式、深刻浅出。微服务、Spring,MyBatis,Netty源码分析的朋友能够加个人Java高级交流:787707172,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给你们。

<?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">
 <modelVersion>4.0.0</modelVersion>
 
 <groupId>demo</groupId>
 <artifactId>spring-cloud-demo</artifactId>
 <packaging>pom</packaging>
 <version>1.0-SNAPSHOT</version>
 
 <modules>
 <module>discovery</module>
 <module>service0</module>
 <module>service1</module>
 </modules>
 
 <!--如下dependency来自官方-->
 <parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.0.RELEASE</version>
 </parent>
 
 <dependencyManagement>
 <dependencies>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-dependencies</artifactId>
 <version>Camden.SR2</version>
 <type>pom</type>
 <scope>import</scope>
 </dependency>
 </dependencies>
 </dependencyManagement>
 
 <dependencies>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-config</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-starter-eureka</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
 <optional>true</optional>
 </dependency>
 </dependencies>
 
 
</project>

3.1.3.如图步骤,完成Discovery

Spring Cloud 5分钟搭建教程

 

3.1.4.如图步骤完成Service0,Service1相似

Spring Cloud 5分钟搭建教程

 

3.1.5.简单到爆炸有没有...........,接下来先启动Discovery,而后启动Service0和Service1

3.1.6.打开浏览器,访问 localhost:8080 ,8080是Discovery里配置的端口号.一切顺利的话,能够看到:

Spring Cloud 5分钟搭建教程

 

3.1.7.已经成功注册了service0,service1两个服务

3.2.网关demo: 光是注册了服务还不行,这里能够再配一个网关,让服务调用有统一的入口.

Spring Cloud 5分钟搭建教程

 

3.2.1.经过上图配置后,首先启动Discovery,其次的服务和网关启动顺序随意.经过访问localhost:8083/service0/service0,便可看到,gateway帮咱们转发了请求.

3.3.Feign:一个能够把远程服务提供方的 rest 接口变成本地方法调用的Spring Cloud组件

举个栗子:

如今有2个服务,service0, service1

service0提供了一个test接口,

那么这时候,若是service1须要的调用service0,除了经过网关(zuul)调用,还可使用Feign,来把service0的远程接口,变为本地方法调用.如图:

Spring Cloud 5分钟搭建教程

 

4.feign + ribbon + hystrix

简介:

hystrix: 以切面为原理,能够在不入侵业务代码的状况下,给方法加上超时等指标,而且能够在超出设置的指标后,调用指定的fallback方法,进行失败回调处理.

ribbon: 客户端负载均衡, 我曾经也写了一个相似的东西(https://github.com/leoChaoGlut/ServiceDIscoveryAndRegistry/tree/master/doc),不事后来发现spring cloud已经有成熟的,现成的经常使用组件,因此就放弃了.哈哈.... 老式的,无注册中心的服务调用,是经过url来实现的,可是ribbon可让咱们只须要提供服务名,就能够调用到多实例的服务,而且在客户端作一个负载分发,减轻服务端负载的压力.

feign: 给你以Http的形式,带来RPC般的体验.

认真看图和代码,便可快速上手 feign + ribbon + hystrix 配置

Spring Cloud 5分钟搭建教程

 

细看spring cloud, feign,ribbon,hystrix的官方文档,加上源码的阅读,便可掌握如何使用spring cloud 配置 这三个组件.

欢迎工做一到八年的Java工程师朋友们加入Java高级交流:787707172

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题均可以在本群提出来 以后还会有直播平台和讲师直接交流噢

相关文章
相关标签/搜索