首页 >> 大全

SpringCloud学习系列之一:基础概念介绍

2023-12-08 大全 25 作者:考证青年

引言

本系列博文主要为学习的博文系列。

一、到底什么是微服务 1、微服务的定义

"" 即微服务,在 的博文中介绍了微服务的具体概念。它是一种系统架构的设计风格。

以下是维基百科关于微服务的解释和说明:

微服务的起源是由 Peter 博士于 2005 年度云端运算博览会提出的微 Web 服务(Micro-Web-) 开始,Juval Löwy 则是与他有类似的前导想法,将类别变成细粒服务 ( ),以作为 下一阶段的软件架构,其核心想法是让服务是由类似 Unix管道的存取方式使用,而且复杂的服务背后是使用简单 URI 来开放界面,任何服务,任何细粒都能被开放 ()。这个设计在 HP的实验室被实现,具有改变复杂软件系统的强大力量。

2014年, 与 James Lewis共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用HTTP API 通讯。同时服务会使用最小的规模的集中管理 (例如 ) 能力,服务可以用不同的编程语言与数据库等元件实作。

它以具备单一责任与功能的软件单元为基础,每个服务都有自己的独立进程,它们通过模块的方法将它们进行组合,构成大型复杂的应用程序,每个独立运行的进程可以采用不同的编程语言实现,同时它们之间采用轻量级的通讯方式(HTTP API)实现各个服务之间的通信。这些服务可以被独立部署,同时它们都是围绕着业务功能进行构建的。

如果可以进行类比的话微服务就像一个人身体当中的各个器官,而人就是一个复杂的系统平台。每个器官都各司其职,完成自己的使命,如胃负责消化食物、肝部负责解毒、肾负责生成尿液、排泄代谢废物的功能等等。正是因为各个器官的相互协作,才构成人这个复杂系统。

2、微服务带来的问题 (1)运维复杂性

大量微服务构成庞大的分布式应用,这些微服务分布在多台服务器中,当分布式系统较为复杂时,所带来的软件运维的人力物力成本的提高。

thinkpad系列介绍系列__移动学习概念

(2)数据一致性

由于微服务的大多数进行了分布式部署,那么分布在各个服务器中的数据如何保证一致性成为了难题;

(3)分布式系统的复杂性

各个微服务可以独立部署,那么在分布式环境下,接口调用、日志追踪、分布式事务以及异步信息等带来的复杂性更高。

分布式架构示意图所示:

二、组件介绍

是Java开发分布式系统的开发套件,对分布式系统中需要的各种组件进行了封装。开发人员可以方便的以此作为基础进行开发,方便的构建分布式服务。主要提供了服务治理、断路器、控制总线、负载均衡等等,主要包括以下几个组件:

(1) ---------------服务治理(服务自动化治理与发现)

---------------客户端负载均衡

移动学习概念_thinkpad系列介绍系列_

负载均衡是分布式系统中实现高可用、缓解请求压力以及服务能力扩容的重要手段。

---------------断路器

服务容错保护,在微服务架构中,会包含很多种微服务,当其中的某个微服务发生异常时,如果有其他服务以来此微服务,那么可能胡造成业务链路的中断,影响平台的稳定运行。所以我们需要一种保护机制来保证系统的稳定性。

断路器的示例如下图所示:

图片来自于网络

---------------分布式配置服务

主要用于福分布式系统中的各个微服务进行集中式的配置支持,实现了对于服务端与客户端中环境变量与属性配置的抽象映射。

Zuul---------------API网关服务

对于系统外部的请求进行分派和调度,实现负载均衡请求路由等功能。

是一个开发套件,包含了很多适用于分布式服务的的各个组件。以上只介绍了部分,如果想要了解更多,可以查看官方网站。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了