Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考)

上面是我基于Spring Cloud ,Spring Boot 和 Docker 搭建的一个分布式日志系统.

目前已在我司使用. 想要学习Spring Cloud, Spring Boot以及Spring 全家桶的童鞋,可以参考学习,如果觉得好,star 一下吧~

<<<< 20170602 <<<<

新增Spring Cloud [ Bus, Sleuth, Config, Stream ]教程:

Github: https://github.com/leoChaoGlut/spring-cloud-tutorial

>>>> 20170602 >>>>

<<<< 20170608 <<<<

Ribbon源码解析及常见问题: http://blog.csdn.net/lc0817/article/details/72886721

>>>> 20170608 >>>>

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.

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <project xmlns="http://maven.apache.org/POM/4.0.0"

  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  5. <modelVersion>4.0.0</modelVersion>

  6. <groupId>demo</groupId>

  7. <artifactId>spring-cloud-demo</artifactId>

  8. <packaging>pom</packaging>

  9. <version>1.0-SNAPSHOT</version>

  10. <modules>

  11. <module>discovery</module>

  12. <module>service0</module>

  13. <module>service1</module>

  14. </modules>

  15. <!--以下dependency来自官方-->

  16. <parent>

  17. <groupId>org.springframework.boot</groupId>

  18. <artifactId>spring-boot-starter-parent</artifactId>

  19. <version>1.4.0.RELEASE</version>

  20. </parent>

  21. <dependencyManagement>

  22. <dependencies>

  23. <dependency>

  24. <groupId>org.springframework.cloud</groupId>

  25. <artifactId>spring-cloud-dependencies</artifactId>

  26. <version>Camden.SR2</version>

  27. <type>pom</type>

  28. <scope>import</scope>

  29. </dependency>

  30. </dependencies>

  31. </dependencyManagement>

  32. <dependencies>

  33. <dependency>

  34. <groupId>org.springframework.cloud</groupId>

  35. <artifactId>spring-cloud-starter-config</artifactId>

  36. </dependency>

  37. <dependency>

  38. <groupId>org.springframework.cloud</groupId>

  39. <artifactId>spring-cloud-starter-eureka</artifactId>

  40. </dependency>

  41. <dependency>

  42. <groupId>org.springframework.boot</groupId>

  43. <artifactId>spring-boot-devtools</artifactId>

  44. <optional>true</optional>

  45. </dependency>

  46. </dependencies>

  47. </project>

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 配置 这三个组件.

5.分布式应用日志追踪: spring cloud sleuth:

http://blog.csdn.net/lc0817/article/details/72829935

6.分布式配置中心: Spring Cloud Config

http://blog.csdn.net/lc0817/article/details/72833007

7.消息总线: Spring Cloud Bus:

http://blog.csdn.net/lc0817/article/details/72836236

8.Netflix 基本组件:Feign Ribbon Hystrix 详细整合

http://blog.csdn.net/lc0817/article/details/72875195

9.流处理:Spring Cloud Stream

http://blog.csdn.net/lc0817/article/details/72956321

Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考)相关推荐

  1. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐

    http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于S ...

  2. Spring Cloud 5分钟搭建教程

    1.前言: 1.1.以下内容是我通过阅读官方文档,并成功实践后的经验总结,希望能帮助你更快地理解和使用Spring Cloud. 1.2.默认读者已经熟练掌握Spring 全家桶,Spring Boo ...

  3. Spring Cloud Eureka(一)搭建一个注册中心

    Spring Cloud Eureka(一)搭建一个注册中心 服务治理 名词解释 spring cloud eureka:spring cloud eureka 使用Netflix Eureka来服务 ...

  4. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  5. 用Spring Cloud和Docker搭建微服务平台

    This blog series will introduce you to some of the foundational concepts of building a microservice- ...

  6. spring cloud+.net core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  7. spring cloud+dotnet core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  8. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  9. spring cloud+dotnet core搭建微服务架构:Api网关(三)

    前言 国庆假期,一直没有时间更新. 根据群里面的同学的提问,强烈推荐大家先熟悉下spring cloud.文章下面有纯洁大神的spring cloud系列. 上一章最后说了,因为服务是不对外暴露的,所 ...

最新文章

  1. 锐界机器人_看着就很酸爽,2.7T V6双涡轮,车则试驾新福特锐界ST
  2. springboot项目启动优化
  3. Computer Browser服务不能启动
  4. CSS浮动(三)---Float
  5. JAVA11 - ZGC 特性
  6. 商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管理/用户管理/认证管理/web后台原型
  7. Java开发环境搭建及开发软件和服务器安装与配置
  8. pands 画图 调整大小_两个精品案例解释机械设计的步骤,有思路,再着手画图...
  9. 正交 IQ matlab,对IQ接收器最重要的两个参数,即I和Q两路分量之间的幅度一致性和相位正交性,可采用如下办法计...
  10. IT技术员的发展方向和晋升秘笈
  11. 五、SPR 单一职责
  12. html文本框后面紧挨着按钮,Word题目与答案
  13. 北大数学系「扫地僧」韦东奕爆红!拒绝哈佛offer,留任北大,却因长相引热议...
  14. 百度地图添加地区覆盖物和坐标点遇到的问题
  15. vue中v-for和v-if不能一起使用
  16. java计算机毕业设计网上扶贫农产品销售系统源码+系统+数据库+lw文档+mybatis+运行部署
  17. 记录今天面试网易游戏—IT技术支持/桌面运维 面试题
  18. MVC、MVVM、RaectiveCocoa的总结
  19. Spark 2.2.1 SQL UDAF用户自定义函数案例
  20. final关键字概念及其四种用法、四种权限修饰符的优先级以及内部类的相关概念

热门文章

  1. STM32 中断详解
  2. Cortex-M3 I-Code,D-Code,系统总线及其他总线接口
  3. java jobdetail_spring+quartz定时任务配置---JobDetailBean
  4. 遇到error: stray ‘\357’ in program [solution.c]的解决办法
  5. WebSocket 详解教程
  6. 【大数据课堂0006】【oracle】python3/plsql 使用cx_Oracle遇到到的坑
  7. select下拉框option的样式修改
  8. CMU Deep Learning 2018 by Bhiksha Raj 学习记录(8)
  9. HDU 1253.胜利大逃亡
  10. Shell命令行操作