springcloud

什么是springcloud

是一系列框架的有序集合,利用springboot巧妙地简化了分布式系统基础设施的开发,提供了各种微服务功能,如负载均衡,断路器,竞选策略,消息总线,路由,分布式消息,服务注册发现等,他们都利用了springboot的开发风格实现了分布式系统的一键部署和启动。同时他没有重复造轮子,利用了一系列成熟企业框架,利用springboot的简易开发风格,实现了对复杂配置和实现原理的封装,留给开发者一套简单易懂,易部署,易维护的分布式系统开发工具包。

它的优缺点

优点:

1,来自spring大家族,spring在企业级开发框架中无人可敌,来头很大,对后续的更新完善有保障;

2组件丰富,功能完善

3spring社区活跃度高,教程多,出现问题很容易找到解决办法

4提供精准的优化服务方案,提高系统可维护性

5跨平台,可用不同语言进行开发

6适用互联网时代,更新迭代周期短

7服务拆分细粒度更细,业务耦合度更低,提高了资源利用率,提高开发效率

8降低团队成本,可并行开发

缺点:

1微服务过多,系统维护成本高

2开发成本高

springcloudconfig

分布式系统的配置管理器,分布式系统统一的外部配置管理器,默认使用git存储配置,支持客户端配置的刷新和加密解密操作。

Netflixoss

又服务治理组件,负载均衡组件,断路器组件,服务调用组件,网管组件组成

服务治理组件提供服务端的注册和客户端的服务发现

负载均衡组件提供多种负载均衡策略

断路器组件实现了断路器模式,对依赖服务的出错和延迟提供容错

服务调用组件给予负载均衡和断路器实现的声明式服务调用组件

网关组件,对请求提供路由和过滤

springboot和springcloud的区别

springboot专注于单个服务开发,可脱离springcloud独立运行

springcloud专注于整体分布式微服务框架协调治理,为微服务提供各种服务功能,如服务发现,消息总线,分布式消息,路由,断路器等服务,不可脱离springboot单独运行

服务注册和发现是什么,它们的原理

我们在开始一个项目时,会在属性文件中进行配置,当服务增加部署和启动,对属性文件的操作会更复杂,且服务可能会下降或者位置发生改变,这时进行对属性文件手动修改容易出错。

在这种情况下,服务发现可以解决这个问题,因为他ton过单独服务器进行服务发现和注册,不必关注服务的地址和内容。

springcloud和dubbo的区别

服务调用方式的区别:dubbo是rpc,springcloud是restapi

注册中心的区别:dubbo是zookeeper而springcloud可以是eureka也可以配置为zookeeper

网关的区别:dubbo没有配置网关,需要单独第三方网关组件,而springcloud默认使用zuul

负载均衡的意义:在计算中负载均衡可以对跨计算机,跨计算集群,跨网络链接,处理中心单元和磁盘驱动情况下的负载分布进行改善,旨在优化资源使用,提高吞吐量,减少延迟并对单一资源的过载进行避免,使用多组件而非单组件进行负载平衡,可能使用冗余设计增加系统的可靠性和可用性,设计专用硬件和软件,如多层级路由交换器和域名服务系统进程。

hystrix是一个延迟容错库,旨在隔离系统,服务和第三方库的访问点,当发生不可避免的故障时阻止级联故障和提升分布式系统中的弹性

原理:当发生故障时会调用fallback方法功能,返回一个默认参数,当异常再次发生时会跳过调用的服务直接调用fallback方法返回参数

这样可以一定程度上改善异常,因为在频率不高时可以在这个空档时间内使异常恢复。

你可能感兴趣的:(springcloud)