【微服务项目】Spring Cloud Alibaba 实战

这篇博客详细介绍了Spring Cloud Alibaba的实战应用,包括微服务架构的演变、Spring Cloud Alibaba的组件,如OpenFeign和Nacos。通过实例演示了如何使用OpenFeign进行服务调用,并详细阐述了Nacos作为服务注册与发现和配置中心的配置与使用。最后,总结了微服务在实际开发中的应用场景和价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Cloud Alibaba 实战

一、目标

  • 理解什么是微服务架构
  • 理解什么是springcloud及spring cloud alibaba和springcloud的关系
  • 掌握使用springcloud alibaba 实现微服务远程调用
  • 掌握使用springcloud alibaba 实现服务注册与发现
  • 掌握使用springcloud alibaba 实现基本的服务配置

二、微服务架构

2.1 架构的演变

(1)单一应用架构

当网站流量很小时,只需要一个应用,所有功能部署在一起,减少部署节点成本的框架称之为集中式框架。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。

(2)垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

(3)分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

(4)面向服务(SOA)架构

典型代表有两个:流动计算架构和微服务架构;

流动计算架构:

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。流动计算架构的最佳实践阿里的Dubbo。

微服务架构

与流动计算架构很相似,除了具备流动计算架构优势外,微服务架构中的微服务可以独立部署,独立发展。且微服务的开发不会限制于任何技术栈。微服务架构的最佳实践是SpringCloud及Spring Cloud Alibaba

2.2 微服务架构

​ 微服务架构(MicroserviceArchitect)是一种架构模式,它提倡将单块架构的应用划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境(测试环境)等.

相比传统SOA的服务实现方式,微服务更具有灵活性、可实施性以及可扩展性,其强调的是一种独立测试、独立部署、独立运行的软件架构模式。

即便了解了上面的介绍,也很难对微服务下一个准确的定义。实际上,从业界的讨论来看,微服务本身并没有一个严格的定义,ThoughtWorks首席科学家马丁福勒对微服务进行的一段描述:

​ 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务架构特点总结:

小, 且专注于做一件事情;
独立的进程中;
轻量级的通信机制;
松耦合、独立部署;

简单理解:

将原本所有的功能放到一个应用中的系统,根据功能模块 进行合理的拆分 拆分成独立的 可运行和部署的子系统;子系统之间通过轻量级协议进行通信(http),我们将这种架构称为微服务架构。

三、Spring Cloud Alibaba

3.1 Spring cloud

微服务架构也会带来一些问题需要我们去解决,例如:

服务通信用什么解决?
服务管理用什么解决?
服务越来越多,配置文件越来越多该如何统一管理?
...

以上都可以通过一些现有的技术框架来解决,但是这些技术框架需要整合在一块相对对开发人员的技术要求较高,另外也有些兼容性问题需要解决。相对比较麻烦。所以如果有一个框架 能解决上边的问题,并且隐藏掉技术细节,框架极好的集成和兼容就再好不过了,所以技术框架下就有了spring cloud 和spring cloud alibaba.

以下摘自百度百科:

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包.

简单理解总结一句话:

spring cloud 是基于springboot的开发工具包,是将流行的成熟的框架整合到一块。目的:就是简化配置,提供一套简单易用的工具用于快速开发分布式系统(微服务),提高开发效率。

3.2 Spring cloud alibaba

​ 同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

提供的功能和组件包括如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值