SpringCloud入门学习(开篇)

SpringCloud入门学习(开篇)

前言:近日,又重新学习了一下SpringCloud,感觉很强大很方便,故将自己的学习过程记录一下。本文很适合初学者,手把手带你从零搭建一个SpringCloud微服务。主要涉及到以下组件:EurekaFeignGatewayZipkin,不了解它们是什么的朋友别着急,后面会一一阐述。好啦,让我们开始搭建微服务吧~

在学习一项新技能之前,首先我们得了解它是什么,它能干什么,以及它有什么优势…

一、什么是SpringCloud
  • SpringCloud是基于SpringBoot的一种微服务架构,是一系列框架的有序集合;
  • Spring Cloud是快速构建分布式系统的工具集,可以实现微服务;
  • 微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。(该条来自谷歌)
  • SpringCloud是大势所趋,很多公司都在使用,再不了解,我都不好意思说我是做Java开发的了…
二、Springcloud相关组件简介

1. Eureka服务注册中心

  • 服务注册中心又叫服务发现,在微服务架构中,每个功能都可以是一个服务,都可以独立部署运行,称之为微服务。当A服务需要调用B服务的时候,传统的做法是直接调用;但是一旦服务多了起来,想要找到另一个服务就显得很麻烦,什么域名啊,请求路径啊会显得尤为繁重。假如服务ip有变,修改起来也很麻烦。
  • 于是服务注册中心应运而生,所有的服务都去服务注册中心进行注册,任何服务想要调用其他服务的时候,直接去服务注册中心找就行。服务注册中心把每个微服务都进行了统一管理。
  • 服务注册中心就好比菜单,每个微服务就是菜名。我要吃什么菜,不需要去厨房找,直接看菜单点菜就行,这就是服务调用。一旦有新的菜式,就马上将其写到菜单上,这就是服务注册。
  • 常见的服务注册中心有EurekaZookeeperConsul以及为阿里为Dubbo定制的Nacos,这里主要介绍Eureka的使用。

2. Feign

  • 微服务之间相互调用的时候,常规的做法是使用SpringBoot自带的RestTemplate或者HttpClient实现,也就是常规的API调用,但是都过于麻烦。于是Feign应运而生了~
  • Feign是一个声明式的 Web 服务客户端,使得服务之间的调用相当简单,通过注解以及接口声明即可实现。并且整合了Ribbon,具有负载均衡功能。

3. Gateway

  • Gateway处于客户端和各个微服务之间,充当着反向代理的角色,通过gateway统一进行服务调用。此外它还具有安全,限流,缓存,熔断,监控,重试等功能。
  • 最开始SpringCloud整合的并不是Gateway,而是Zuul,但是Zuul开发进度过于缓慢,于是Spring放弃了Zuul,改而自己开发了Gateway,Gateway具有Zuul的全部功能,并且更加强大。

4. Zipkin

  • Zipkin是一个分布式的链路追踪系统,可以清晰的看到各个微服务之间的调用情况。
  • 为什么需要这个功能呢?可以想象,假如每个微服务都部署在不同的服务器上,且纷繁众多,一旦系统出了bug,查找起来就会比较费事。通过Zipkin链路追踪管理界面,可以清楚的看到什么时候哪个服务调用了哪个服务,耗时多少以及在哪里出了什么问题,简直就是个神器!

Config、bus之类的由于我暂时还没有整合到,就不妄加以介绍了,避免误导查看此文的各位朋友…

好吧,balabala说了这么多,接下来正式进入代码时间 !!!

下一篇 -> 服务注册中心和服务注册

Springboot: 1.什么是spring boot 1 2.spring boot的优点 2 3.环境搭建 3 3.1 添加依赖 3 3.2 创建目录和配置文件 4 3.3 创建启动类 5 3.4 案例演示 5 4 . 配置介绍 6 4.1 Spring boot 配置文件 6 4.2 配置文件内容 7 4.3属性使用 9 5 . Spring boot 基础包 10 6. spring boot 分解 11 6.1 提供 Spring MVC自动配置 11 6.2 对静态资源的支持 11 6.3 模板引擎 12 6.3.1 Thymeleaf模板引擎 12 ....... Springcloud: 通过整合SpringMVC+SpringBoot+Mybatis构建一个可用的基于SpringCloud的微服务工程将上述技术组件逐步落地,让大家看得懂做得出学得会。 00、硅谷学习_SpringBoot_源码、课件 01.硅谷学习_SpringCloud_前提概述 02.硅谷学习_SpringCloud_大纲概览 03.硅谷学习_SpringCloud_从面试题开始 04.硅谷学习_SpringCloud_微服务是什么 05.硅谷学习_SpringCloud_微服务是什么2 06.硅谷学习_SpringCloud_微服务与微服务架构 07.硅谷学习_SpringCloud_微服务优缺点 08.硅谷学习_SpringCloud_微服务技术栈有哪些 09.硅谷学习_SpringCloud_为什么选择SpringCloud作为微服务架构 10.硅谷学习_SpringCloud_SpringCloud是什么 11.硅谷学习_SpringCloud_SpringCloud_VS_SpringBoot区别对比 12.硅谷学习_SpringCloud_SpringCloud_VS_Dubbo区别对比 13.硅谷学习_SpringCloud_SpringCloud功能域和官网资料介绍 14.硅谷学习_SpringCloud_SpringCloud国内使用情况 15.硅谷学习_SpringCloud_Rest微服务案例-总体概述 16.硅谷学习_SpringCloud_Rest微服务案例-父工程构建步骤 17.硅谷学习_SpringCloud_Rest微服务案例-API公共模块和部门Entity步骤 18.硅谷学习_SpringCloud_Rest微服务案例-部门服务提供者 19.硅谷学习_SpringCloud_Rest微服务案例-部门服务消费者 20.硅谷学习_SpringCloud_Eureka是什么 21.硅谷学习_SpringCloud_EurekaServer服务注册中心建立 22.硅谷学习_SpringCloud_将已有的部门微服务注册进Eureka服务中心 23.硅谷学习_SpringCloud_微服务完善_主机映射名称修改 24.硅谷学习_SpringCloud_微服务完善_主机IP信息提示 25.硅谷学习_SpringCloud_微服务完善_info内容构建 26.硅谷学习_SpringCloud_Eureka自我保护机制介绍 27.硅谷学习_SpringCloud_Eure服务发现 28.硅谷学习_SpringCloud_Eureka集群配置 29.硅谷学习_SpringCloud_Eureka比Zookeeper好在哪里 30.硅谷学习_SpringCloud_Ribbon是什么 31.硅谷学习_SpringCloud_Ribbon配置初步 32.硅谷学习_SpringCloud_Ribbon负载均衡 33.硅谷学习_SpringCloud_Ribbon核心组件IRule 34.硅谷学习_SpringCloud_自定义Ribbo的负载均衡策略(上) 35.硅谷学习_SpringCloud_自定义Ribbo的负载均衡策略(下) 36.硅谷学习_SpringCloud_Feign是什么 37.硅谷学习_SpringCloud_Feign工程构建 38.硅谷学习_SpringCloud_Hystrix断路器是什么 39.硅谷学习_SpringCloud_服务熔断 40.硅谷学习_SpringCloud_服务降级 41.硅谷学习_SpringCloud_服务降级熔断小总结 42.硅谷学习_SpringCloud_豪猪hystrixDashboard 43.硅谷学习_SpringCloud_如何查看hystrixDashboard 44.硅谷学习_SpringCloud_Zuul是什么 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值