SpringCloud-微服务架构

目标:了解SOA与微服务架构的区别以及说出微服务架构的特点

微服务架构:是一套使用小服务或者单一业务来开发单个应用的方式或途径。

与使用ESB的SOA架构的区别:微服务架构没有使用ESB,有服务治理注册中心;业务粒度小。

微服务架构 是使用 一套小服务来开发单个应用的方式或途径 ,每个服务基于单一业务能力构建,运行在自己的进程
中,并使用轻量级机制通信,通常是 HTTP API ,并能够通过自动化部署机制来独立部署。这些服务可以使用不同的
编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。
微服务结构图:

API Gateway 网关是一个服务器,是系统的唯一入口。为每个客户端提供一个定制的 API API 网关核心是,所
有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。如它还可以具有其它职
责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。通常,网关提供 RESTful/HTTP
方式访问服务。而服务端通过服务注册中心进行服务注册和管理。
 
微服务的特点
单一职责:微服务中每一个服务都对应唯一的业务能力,做到 单一职责
微:微服务的服务拆分 粒度很小 ,例如一个用户管理就可以作为一个服务。每个服务虽小,但 五脏俱全
面向服务: 面向服务 是说每个服务都要对外暴露 Rest 风格服务接口 API 。并不关心服务的技术实现,做到与平台
和语言无关,也不限定用什么技术实现,只要提供 Rest 的接口即可。
自治:自治是说 服务间互相独立 ,互不干扰
       团队独立:每个服务都是一个独立的开发团队,人数不能过多。
       技术独立:因为是面向服务,提供 Rest 接口,使用什么技术没有别人干涉
       前后端分离:采用前后端分离开发,提供统一 Rest 接口,后端不用再为 PC 、移动端开发不同接口
       数据库分离:每个服务都使用自己的数据源
       部署独立:服务间虽然有调用,但要做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服
       务都是独立的组件,可复用,可替换,降低耦合,易维护

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Cloud是一个基于Spring Boot的开发工具集,它为开发人员提供了构建分布式系统的工具,包括配置管理、服务注册和发现、负载均衡、断路器、消息总线、分布式追踪等功能。使用Spring Cloud可以帮助开发人员快速构建微服务架构。 下面是使用Spring Cloud搭建微服务架构的基本原理: 1. 服务注册和发现 在传统的架构中,服务之间的调用通常是通过硬编码的方式实现的,每个服务都需要知道其他服务的地址和端口号。但在微服务架构中,服务数量庞大,服务的地址和端口是动态的,因此需要一种机制来管理服务的注册和发现。 Spring Cloud提供了Eureka作为服务注册中心,服务注册中心负责管理服务的注册和发现。每个服务向Eureka注册自己的地址和端口,其他服务通过Eureka来发现并调用该服务。 2. 负载均衡 在微服务架构中,一个服务通常会有多个实例,为了实现负载均衡,需要一种机制来选择一个可用的服务实例来处理请求。 Spring Cloud提供了Ribbon作为负载均衡器,它能够根据一定的规则选择一个可用的服务实例来处理请求。 3. 断路器 在分布式系统中,网络故障和服务崩溃是难以避免的,为了保证系统的稳定性,需要一种机制来防止故障扩散,即断路器。 Spring Cloud提供了Hystrix作为断路器,它能够监控服务调用的情况,当一个服务的调用失败率超过一定阈值时,Hystrix会自动打开断路器,防止故障扩散,同时提供一些降级和回退机制,保证系统的可用性。 4. 配置管理 在微服务架构中,每个服务通常都有自己的配置文件,为了方便管理和维护配置,需要一种机制来集中管理配置。 Spring Cloud提供了Config Server作为配置管理中心,服务可以通过Config Server来获取自己的配置文件。 5. 消息总线 在微服务架构中,一个服务的状态变化通常会影响到其他服务,为了实现服务之间的协同,需要一种机制来实现消息通信。 Spring Cloud提供了Bus作为消息总线,服务可以通过Bus来发送和接收消息,实现服务之间的通信和协同。 6. 分布式追踪 在微服务架构中,服务之间的调用通常是跨进程的,为了方便排查问题和分析性能,需要一种机制来实现分布式追踪。 Spring Cloud提供了Sleuth作为分布式追踪工具,它能够跟踪服务之间的调用链,记录每个服务的耗时和异常情况,方便排查问题和分析性能。 总之,Spring Cloud提供了一系列工具来实现微服务架构,通过使用这些工具,开发人员可以快速构建分布式系统,并且方便管理和维护系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值