分布式(1)

目录

1.使用SpringCloud有什么优势?

[2.服务注册和发现是什么意思?Spring Cloud如何实现?](#2.服务注册和发现是什么意思?Spring Cloud如何实现?)

3.SpringCloud的核心组件有哪些?

4.微服务的优缺点分别是什么?说下你在项目开发中碰到的坑

5.Eureka的自我保护机制怎么回事?


1.使用SpringCloud有什么优势?

使用SpringBoot开发分布式微服务时,我们面临以下问题:

与分布式系统相关的复杂性,这种开销包括网络问题,延时开销,宽带问题,安全问题。

服务发现,服务发现工具管理集群中的流程和服务如何查找和互相交谈。他设计一个服务目录,在该目录中注册服务,然后能够查找并连接到该目录中的服务。

冗余,分布式系统中的冗余问题。

负载均衡,负载平衡改善跨多个计算资源的工作负荷,诸如计算机集群,网络链路,中央处理单元,或磁盘驱动器的分布。

性能问题,由于各种运营开销导致的性能问题。

部署复杂性,Devops技能的要求。

2.服务注册和发现是什么意思?Spring Cloud如何实现?

当我们开始一个项目时,我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和部署,添加和修改这些属性变得更加复杂。有些服务可能会下降,而偶写位置可能会发生变化。手动更改属性可能会产生问题。

Eureka服务注册和发现可以在这种情况下提供帮助。由于所有服务都在Eureka服务器上注册并通过调用Eureka服务器完成查找,因此无需处理服务地点的任何更改和处理。

3.SpringCloud的核心组件有哪些?

1.服务发现,Netflix Eureka一个RestFul服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务端用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互,作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,他提供基于流量,资源利用率以及出错状态的加权负载均衡。

2.客服端负载均衡,Netflix Ribbon Ribbon,主要提供客户侧的软件负载均衡算法。Ribbon客户端组件提供一系列完善的配置选项,比如连接超时,重试,重试算法等。Ribbon内置可插拔,可定制的负载均衡组件。

3.断路器,Netflix Hystrix断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许他继续而不等待故障恢复或者浪费CPU周期,而他确定该故障时持久的。断路器模式也使用应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。

4.微服务网关,Netflix Zuul类似Nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。

5.分布式配置,Spring Cloud Config这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。

4.微服务的优缺点分别是什么?说下你在项目开发中碰到的坑

优点:每一个服务组否内聚,代码容易理解;开发效率提高,一个服务只做一件事;微服务能够被小团队单独开发;微服务是松耦合的,是由功能意义的服务可以用不同的语言开发,面向接口编程;易于与第三方集成;微服务只是业务逻辑的代码,不会和HTML,CSS或者其他界面组合;可以灵活搭配,连接公共库/连接独立库。

缺点:分布式系统的负责性;多服务运维难度,随着服务的增加,运维的压力也在增大;系统部署依赖;服务间通信成本;数据一致性;;系统集成测试;性能监控;

5.Eureka的自我保护机制怎么回事?

当Eureka Server节点在短时间内丢失了过多实例的连接时(比如网络故障或频繁的启动关闭客户端),那么这个节点就会进入自我保护模式,一旦进入到该模式,Euraka Server就会保护服务注册表中的信息,不会删除服务注册表中的数据(即不会注销任何微服务)。当网络故障恢复后,该Euraka server节点就会自动退出自我保护模式。

相关推荐
技术路上的苦行僧21 分钟前
分布式专题(10)之ShardingSphere分库分表实战指南
分布式·shardingsphere·分库分表
GitCode官方1 小时前
GitCode 光引计划投稿 | GoIoT:开源分布式物联网开发平台
分布式·开源·gitcode
小扳3 小时前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
zquwei12 小时前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
道一云黑板报16 小时前
Flink集群批作业实践:七析BI批作业执行
大数据·分布式·数据分析·flink·kubernetes
飞来又飞去17 小时前
kafka sasl和acl之间的关系
分布式·kafka
MZWeiei18 小时前
Zookeeper的监听机制
分布式·zookeeper
莹雨潇潇18 小时前
Hadoop完全分布式环境部署
大数据·hadoop·分布式
浩哲Zhe19 小时前
RabbitMQ
java·分布式·rabbitmq
明达技术20 小时前
分布式 IO 模块:赋能造纸业,革新高速纸机主传动
分布式