专栏首页Java架构师进阶Spring Cloud 5分钟搭建教程

Spring Cloud 5分钟搭建教程

1.前言:

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

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

1.3.陆续更新

2.开发环境: @Deprecated

2.1.开发工具:idea

2.2.开发环境:jdk1.7

2.3.Spring版本:

2.3.1.Spring Boot :1.4.0 release

2.3.2.Spring Cloud : Camden SR2

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

3.1.服务注册demo:

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

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

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

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">

4.0.0

demo

spring-cloud-demo

pom

1.0-SNAPSHOT

discovery

service0

service1

org.springframework.boot

spring-boot-starter-parent

1.4.0.RELEASE

org.springframework.cloud

spring-cloud-dependencies

Camden.SR2

pom

import

org.springframework.cloud

spring-cloud-starter-config

org.springframework.cloud

spring-cloud-starter-eureka

org.springframework.boot

spring-boot-devtools

true

3.1.3.如图步骤,完成Discovery

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

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

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

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

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

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的远程接口,变为本地方法调用.如图:

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, feign,ribbon,hystrix的官方文档,加上源码的阅读,即可掌握如何使用spring cloud 配置 这三个组件.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何开始使用 Java 机器学习

    这个问题已经有一段时间了,但最近这些日子几乎每个人都在谈论人工智能和机器学习。这已经不再是一个保留给科学家和研究者的秘密,而是几乎实现于每一项新兴技术中。

    哲洛不闹
  • 在win10下安装eclipse 原

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h...

    拓荒者
  • 这 10 道 Spring Boot 常见面试题你需要了解下

    多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的...

    Java团长
  • Java 线程如何正确关闭

    heidsoft
  • Java后端学习路线图,你真的只需要这一张!

    学习路线图往往是学习一样技术的入门指南。网上搜到的Java学习路线图也是一抓一大把。

    黄小斜
  • bash: /home/jdk1.8.0_161/bin/java: Permission denied

        报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied

    拓荒者
  • 如何优化tomcat配置(从内存、并发、缓存4个方面)优化

      Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。 ...

    拓荒者
  • 配置Tomcat apr运行模式 原

      bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景

    拓荒者
  • Java 同步处理与异步处理

    heidsoft
  • 我的Java秋招面经大合集(包含BAT头条网易等公司)

    我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。

    黄小斜

扫码关注云+社区

领取腾讯云代金券