没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1、什么是微服务?
微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的
服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供
最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful
API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产
环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根
据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理
来协调这些服务,可以使用不同的语言来编写服务,也可以使用不同的数据存储。
从技术维度来说:
微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦
合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小
而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库。
2、微服务之间是如何通讯的?
①远程过程调用(RemoteProcedureInvocation)
直接通过远程过程调用来访问别的service。
示例:REST、gRPC、Apache、Thrift
优点:
简单,常见。因为没有中间件代理,系统更简单
缺点:
只支持请求/响应的模式,不支持别的,比如通知、请求/异步响应、发布/订阅、发布/异步
响应
降低了可用性,因为客户端和服务端在请求过程中必须都是可用的
②消息
使用异步消息来做服务间通信。服务间通过消息管道来交换消息,从而通信。
示例:ApacheKafka、RabbitMQ
优点:
把客户端和服务端解耦,更松耦合提高可用性,因为消息中间件缓存了消息,直到消费者
可以消费
支持很多通信机制比如通知、请求/异步响应、发布/订阅、发布/异步响应
缺点:
消息中间件有额外的复杂性
3、springcloud与dubbo有哪些区别?
相同点:
SpringCloud和Dubbo可以实现RPC远程调用框架,可以实现服务治理。
不同点:
SpringCloud是一套目前比较网站微服务框架了,整合了分布式常用解决方案遇到了问题注
册中心Eureka、负载均衡器Ribbon,客户端调用工具Rest和Feign,分布式配置中心
Config,服务保护Hystrix,网关ZuulGateway,服务链路Zipkin,消息总线Bus等。
Dubbo内部实现功能没有SpringCloud强大(全家桶),只是实现服务治理,缺少分布式
配置中心、网关、链路、总线等,如果需要用到这些组件,需要整合其他框架。
表SpringCloud与Dubbo功能对比
功能名称 Dubbo SpringCloud
服务注册中心 ZooKeeper SpringCloudNetflixEureka、ZooKeeper
服务调用方式 RPCRESTAPI
服务网关 无 SpringCloudNetflixZuul
断路器 不完善 SpringCloudNetflixHystrix
分布式配置 无 SpringCloudConfig
服务跟踪 无 SpringCloudSleuth
消息总线 无 SpringCloudBus
数据流 无 SpringCloudStream
批量任务 无 SpringCloudTask
4、请谈谈对SpringBoot和SpringCloud的理解
①SpringBoot专注于快速方便的开发单个个体微服务。
②SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单
体微服务整合并管理起来,
为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局
锁、决策竞选、分布式会话等等集成服务
③SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开
SpringBoot,属于依赖的关系.
④SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治
理框架。
SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开Spring
Boot,属于依赖的关系。
5、分布式系统面临的问题
复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免
地失败。
服务雪崩
多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又
调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间
过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所
谓的“雪崩效应”.
对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内
饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程
和其他系统资源紧张,导致整个系统发生更多的级联故障。这些都表示需要对故障和延迟进
行隔离和管理,以便单个依赖关系的失败,不能取消整个应用程序或系统。
一般情况对于服务依赖的保护主要有以下三种解决方案:
剩余11页未读,继续阅读
资源评论
Fay_Q
- 粉丝: 71
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20240420-扬州高中小学部风雨操场转换层条件图r.dwg
- 小猫咪邮件在线发送系统源码v1.1,支持添加附件
- 永磁电机铜耗估算表-Excel-v1.0
- 参考资料-人工智能对劳动力市场的影响机制研究.pdf
- 协同供应链集成产品介绍V71sp1.rar
- 上市公司-人工智能的采纳程度面板数据(2003-2021年).xlsx
- 参考资料-人工智能技术应用对就业的影响及作用机制研究-来自制造业企业的微观证据.pdf
- 第5章spring-mvc请求映射处理
- 2023-04-06-项目笔记 - 第一百十六阶段 - 4.4.2.114全局变量的作用域-114 -2024.04.27
- 协同供应链集成产品介绍V70.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功