阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 微服务框架 Spring Cloud 快速入门> 正文

微服务框架 Spring Cloud 快速入门

48课时 |
4968人已学 |
免费
课程介绍

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

学习本课程前,您应该已经具备SpringMVC、Spring/SpringBoot、Mybatis、Maven、Git等基础。

 

相关的阿里云产品:企业级分布式应用服务 EDAS

企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。

了解产品详情: https://www.aliyun.com/product/edas 

微服务是什么_1

目录:

一、微服务是什么?

二、总结

 

一、微服务是什么?

论文地址:

 

马丁弗勒大概在2014年左右,提出了微服务架构这个概念。

微服务是马丁弗勒提出的、他是微服务的主创人和微服务这个概念的作俑者。他说:就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style)。

现在也没有一个定论,慢慢迭代以后会最终出现微服务是什么,但是任何东西不能没有一个最终的说法,至少截至到现在,大致根据马丁弗勒对于微服务的定义有了一个清晰的认知。

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

它提倡将单一应用程序划分成一组小的服务,这句话的意思是:在软件开发之前,粗略的来说经历了三个阶段。

第一种单机版俗称为 All  In  One,在 eclipse 里以及开发工具工作空间里面只有一个工程,比方说有一个Tmall这样一个工程,里面所有东西都加载一起,com.atguigu.service,这个service下有大量接口有商品的、交易的、积分的、订单的等等,这个时候单机版随着互联网时代的崛起并发量越来越大,都明白天下大事合久必分,分久必合。往后可以发现单机版变成了分布式。之前有商品的、交易的、积分的、订单的分在一起,或多或少不方便,为了项目的耦合度更低、职责更加明确,有这样一个概念,专业的事情交给专业的人来做,尽量降低耦合。

商品,交易,积分,订单在一起,会指向修改订单部分,但是因为四个模块在一起就会影响其他三个模块。会把集中在一块的all in one变成四个模块,每一个模块可以按照业务来进行拆分就可以看成一个微服务。例如之前所做的短信模块,登录需要发送短信,下订单需要发送短信,调用支付接口支付金额需要发送短信,很多个模块都需要发送短信,把这个公共的模块提取出来,把发短信做成一个小模块,只做一件事形成微服务。

Double、微服务、cloud的区别有哪些?其中最重要的就是它们之间的通信机制。Double是基于RPC远程过程调用,而微服务、cloud是基于REST调用,这两个是本质的区别。

结合网站的论文,对马丁弗勒对微服务的定义进行翻译。只需要有一个概念,就是第一单一应用all in one分成一组小的服务,第二每一次都是独立的进程。

二、总结

技术维度理解:微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品