一、Spring Cloud
1. 什么是微服务架构?
微服务架构就是将单体的应用程序分成多
个应用程序,这多个应用程序就成为微服
务,每个微服务运行在自己的进程中,并
使用轻量级的机制通信
这些服务围绕业务能力来分,并通过自动
化部署机制来独立部署,这些服务可以使
用不同的编程语言,不同数据库,以保证
最低限度的集中式管理
2. 为什么需要学习 SpringCloud?
springcloud 就基于 SpringBoot 的优雅简
洁把市场上优秀的服务框架组合起来,通
过 SpringBoot 风格进行再封装屏蔽掉了
复杂的配置和实现原理
springcloud 开箱即用,只需要一个 jar 的
依赖就可以了!
springcloud 大多数子模块都是直击痛点,像 zuul 解决的跨域,fegin 解决的负载均
衡,hystrix 的熔断机制等
3. SpringCloud 是什么?
SpringCloud 是一系列框架的有序集合,
它利用 SpringBoot 的开发便利性巧妙地
简化了分布式系统基础设施的开发,如
服务发现注册、配置中心、智能路由、
消息总线、负载均衡、断路器、数据监
控等,都可以用 SpringBoot 的开发风格
做到一键启动和部署
SpringCloud 并没有重复制造轮子,它只
是将各家公司开发的比较成熟、经得起实
际考验的服务框架组合起来,通过 Spring
Boot 风格进行再封装屏蔽掉了复杂的配置
和实现原理,最终给开发者留出了一套简
单易懂、易部署和易维护的分布式系统开
发工具包
4. SpringCloud 的优缺点?
优点:
① 耦合度比较低,不会影响其他模块的开
发
② 减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开
发
③ 配置比较简单,基本用注解就能实现,不用使用过多的配置文件
④ 微服务跨平台的,可以用任何一种语言开发
⑤ 每个微服务可以有自己的独立的数据库也有用公共的数据库
⑥ 直接写后端的代码,不用关注前端怎么开发,直接写自己的后端代码即可,然
后暴露接口,通过组件进行服务通信
缺点:
① 部署比较麻烦,给运维工程师带来一定
的麻烦
② 针对数据的管理比麻烦,因为微服务可以每个微服务使用一个数据库
③ 系统集成测试比较麻烦
④ 性能的监控比较麻烦 (最好开发一个大屏监控系统)
5. SpringBoot 和 SpringCloud 的区别?
SpringBoot 专注于快速方便的开发单个个
体微服务
SpringCloud 是关注全局的微服务协调整理治理框架,它将 SpringBoot 开发的一个
个单体微服务整合并管理起来,为各个微
服务之间提供,配置管理、服务发现、断
路器、路由、微代理、事件总线、全局锁、
决策竞选、分布式会话等等集成服务
SpringBoot 可以离开 SpringCloud 独立使用开发项目,但是 SpringCloud 离不开
SpringBoot,属于依赖的关系 SpringBoot
专注于快速、方便的开发单个微服务个体,
SpringCloud 关注全局的服务治理框架
6. SpringCloud 由什么组成?
SpringCloud Eureka:服务注册与发现
SpringCloud Zuul:服务网关
SpringCloud Ribbon:客户端负载均衡
SpringCloud Feign:声明性的 Web 服务客户端
SpringCloud Hystrix:断路器
SpringCloud Config:分布式统一配置管理
等20几个框架,开源一直在更新
7. 使用 SpringBoot 开发分布式微服务时,我们面临什么问题?
与分布式系统相关的复杂性-这种开销包括
网络问题,延迟开销,带宽问题,安全问
题
服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个
服务目录,在该目录中注册服务,然后能
够查找并连接到该目录中的服务
冗余-分布式系统中的冗余问题
负载平衡 --负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,
网络链路,中央处理单元,或磁盘驱动器
的分布
性能-问题 由于各种运营开销导致的性能问题
8. SpringCloud 和 dubbo 区别?
服务调用方式:dubbo 是 RPC
springcloud 是 Rest Api
注册中心:dubbo 是 zookeeperspringcloud是 eureka/zookeeper
服务网关:dubbo 本身没有实现,只能通过其他第三方技术整合;
springcloud 有 Zuul 路由网关,
作为路由服务器,进行消费者的
请求分发,springcloud支持断路
器,与git完美集成配置文件
支持版本控制,事物总线实现配置文件的更新与服务自动装配等
等一系列的微服务架构要素
二、Eureka
9. 服务注册和发现是什么意思?SpringCloud 如何实现?
当我们开始一个项目时,我们通常在属性
文件中进行所有的配置,随着越来越多的
服务开发和部署,添加和修改这些属性变
得更加复杂,有些服务可能会下降,而某
些位置可能会发生变化,手动更改属性可
能会产生问题</

最低0.47元/天 解锁文章
1220

被折叠的 条评论
为什么被折叠?



