0
点赞
收藏
分享

微信扫一扫

Spring Cloud(1)概述

琛彤麻麻 2022-01-28 阅读 57

Spring Cloud是微服务架构的实现

面向服务架构(SOA)

是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用。

在这里插入图片描述

ESB(企业服务总线):就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通。

SOA缺点:每个供应商提供的ESB产品有偏差,自身实现较为复杂应用服务粒度较大,ESB集成整合所有服务和协议、数据转换使得运维、测试部署困难。所有服务都通过一个通路通信(ESB),直接降低了通信速度

微服务架构

微服务架构其实也是一个SOA架构,只是较SOA的应用服务粒度更加细,并且不是基于ESB,而是将我们的服务治理、服务注册中心去统一管理服务的地址,应从服务中心去获取地址,然后去访问(得到之后就可以访问)

微服务架构使用一套小服务来开发单个应用的方式或途径,每个服务基于单一业务能力构建,运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,并能够通过自动化部署机制来独立部署。

在这里插入图片描述

特点

  1. 单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责

  2. 微:微服务的服务粒度很小,

  3. 面向服务:每个服务都要对外暴露Rest风格服务接口API。

  4. 自治:服务间互相独立,互不干扰

微服务架构与SOA都是对系统进行拆分;微服务架构基于SOA思想,可以把微服务当做去除了ESB的SOA。
核心区别:微服务架构没有使用ESB,使用访问治理注册中心,业务粒度很小
在这里插入图片描述

服务调用方式(RPC、Http)

常见的远程调用方式有2种:

  1. RPC:基于Socket,速度快,效率高

  2. Http:基于TCP,消息封装臃肿,对服务的提供和调用方没有任何技术限定

区别:RPC的机制是根据语言的API来定义的,而不是根据基于网络的应用来定义的。

Spring RestTemplate

方便的进行http服务调用的http客户端工具类包:

  1. okhttpClient
  2. okHttp
  3. JDK原生URLConnection
    spring提供了RestTemplate的工具类对上述的3种http客户端工具类进行了封装,可在spring项目中使用RestTemplate讲行服务调用。

springCloud概述

官网地址:http://projects.spring.io/spring-cloud/

Spring Cloud不是一个组件,而是许多组件的集合

其主要涉及的组件包括:

  1. Eureka:注册中心
  2. Zuul、Gateway:服务网关
  3. Ribbon:负载均衡
  4. Feign:服务调用
  5. Hystrix或Resilience4j:熔断器
举报

相关推荐

0 条评论