微服务技术概论

什么是微服务

  •  微服务是一种架构风格
  •  一个应用拆分为一组小型服务
  •  每个服务运行在自己的进程内,也就是可独立部署和升级
  •  服务之间使用轻量级HTTP交互
  •  服务围绕业务功能拆分
  •  可以由全自动部署机制独立部署
  •  去中心化,服务自治。服务可以使用不同的语言、不同的存储技术

微服务相关技术

  1. 服务调用
  2. 服务降级
  3. 服务注册与发先
  4. 服务熔断
  5. 负载均衡
  6. 服务消息队列
  7. 服务网关
  8. 配置中心管理
  9. 自动化构建部署
  10. 服务监控
  11. 全链路追踪
  12. 服务定时任务
  13. 调度操作

Spring Cloud简介

  •  微服务技术维度

SpringCloud=分布式微服务架构的站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶

微服务具体实现技术落地(21种)

  • Srping Cloud Config 

配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储,Git以及Subversion

  • Spring Cloud Bus

事件,消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署

  • Eureka 

云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移

  • Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力

  • Zuul

Zuul是在云平台上提供动态路由,管控,弹性,安全等边缘服务的框架。Zuul相当于是设备和Netficx流应用的Web网站后端所有请求的前门

  • Archaius

配置管理API,包含一系列配置管理API,提供动态类型化属性,线程安全配置操作,轮询框架,回调机制等功能

  • Consul

封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成

  • Spring Cloud Sleuth

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案

  • Spring Cloud Data Flow

大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式

  • Spring Cloud Security

基于sping security的安全工具包,为你的应用程序添加安全控制

  • Spring Cloud Zookeeper

操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理

  • Spirng Cloud Stream

数据流操作开发包,封装了与Redis,Rabbit,Kafka等发送接收消息

  • Spring Cloud CLI

基于Spring Boot CLI,可以让你以命令行方式快速建立云组件

  • Ribbon

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和熔断器使用

  • Feign

Feign是一种声哨式,模板化的HTTP的客户端

  • Spring Cloud Task 

提供云端计划任务管理,任务调度

  • Spring Clod Connectors

便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务

  • Spring Cloud Cluster

提供Leadership选举,如:Zookeeper,Redis,Hazelcast,Constul等常见状态模式的抽象和实现

  • Spring Cloud Starters

Spring Boot式的启动项目,为Spring Cloud 提供开箱即用的依赖管理

  • Spring Cloud for Cloud Foundry

通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台

  • Turbine

Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下Hystrix的metrics  情况


大厂案例

 京东

京东的

 阿里

阿里的

京东物流 

京东物流

 无业务基础服务

微服务的简单概括

 SpringCloud技术栈

netflix

课程技术总结

你可能感兴趣的:(微服务,spring,cloud,spring,boot)