微服务原理

一、微服务

1.1 SpringCloud核心组件有哪些?分别有哪些作用?

  • 服务注册与发现——Netflix Eureka、Nacos、Zookeeper
  • 客户端负载均衡——Netflix Ribbon、SpringCloud LoadBalancer
  • 服务熔断器——Netflix Hystrix、Alibaba Sentinel、Resilience4J
  • 服务网关——Netflix Zuul、SpringCloud Gateway
  • 服务接口调用——Netflix Feign、Resttemplate、Openfeign
  • 链路追踪——Netflix Sleuth、Skywalking、Pinpoint
  • 聚合Hystrix监控数据——Netflix Turbine
  • 监控中心---- SpringBoot Admin
  • 配置中心——Spring Cloud Config . Apollo、nacos

1.2 注册中心的原理是什么?

服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中获取服务列表来完成服务调用

1.3 eureka和zookeeper的区别?

zookeeper使用的CP,而eureka使用的是AP
选择可用性 A(Availability),选择一致性C(Consistency)
P就是在分布式环境中,由于网络的问题可能导致某个节点和其它节点失去联系,这时候就形成了P(partition),也就是由于网络问题,将系统的成员隔离成了2个区域,互相无法知道对方的状态,这在分布式环境下是非常常见的。

1.4 SpringCloud和Dubbo有什么区别?

  • dubbo是二进制传输,对象直接转成二进制,使用RPC通信。
    SpringCloud是http传输,同时使用http协议一般会使用SON报文,json再转二进制,消耗会更大。
  • Dubbo只是实现了服务治理,而Spring Cloud下面有几十个子项目分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。

1.5 Ribbon负载均衡的原理?

1, Ribbon通过ILoadBalancer接口对外提供统一的选择服务器(Server)的功能,此接口会根据不同的负载均衡策略(IRule)选择合适的Server返回给使用者。
2, IRule是负载均衡策略的抽象,lLoadBalancer通过调用IRule的choose()方法返回Server
3,IPing用来检测Server是否可用,ILoadBalancer的实现类维护一个Timer每隔10s检测一次Server的可用状态
4, IClientConfig主要定义了用于初始化各种客户端和负载均衡器的配置信息,器实现类为DefaultClientConfiglmpl

1.6 微服务的熔断降级机制??

微服务框架是许多服务互相调用的,要是不做任何保护的话,某一个服务挂了,就会引起连锁反应,导致别的服务
也挂。Hystrix 是隔离、熔断以及降级的一个框架。如果调用某服务报错(或者挂了),就对该服务熔断,在5分
钟内请求此服务直接就返回一个默认值,不需要每次都卡几秒,这个过程,就是所谓的熔断。但是熔断了之后就会
少调用一个服务,此时需要做下标记,标记本来需要做什么业务,但是因为服务挂了,暂时没有做,等该服务恢复
了,就可以手工处理这些业务。这个过程,就是所谓的降级。

1.7 什么是Hystrix?实现原理是什么 ?

Hystrix是一个延迟和容错库,旨在隔离对远程系统、服务和第三方库的访问点,停止级联故障,并在不可避免发生故障的复杂分布式系统中实现快速恢复。主要靠Spring的AOP实现
实现原理:
正常情况下,断路器关闭,服务消费者正常请求微服务
一段事件内,失败率达到一定阈值,断路器将断开,此时不再请求服务提供者,而是只是快速失败的方法((断路方法)
断路器打开一段时间,自动进入“半开"状态,此时,断路器可允许一个请求方法服务提供者,如果请求调用成功,则关闭断路器,否则继续保持断路器打开状态。
断路器hystrix是保证了局部发生的错误,不会扩展到整个系统,从而保证系统的即使出现局部问题也不会造成系统雪崩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容简介: 本课程主要从微服务概念入手,逐步深入地讲解为服务核心组件的开发和运用。讲解的微服务核心技术主要组件包括: 理解微服务中台架构; 理解总体微服务基础架构体系; 理解公共运行时服务,服务发现,网关和配置中心原理和架构; 理解典型微服务框架和通讯模式,两层服务模式; 理解微服务监控体系和可靠性工程实践; 理解常用后台支持服务和开源实践; 理解基于容器云的持续交付流水线,各种发布模式。 为什么需要掌握微服务核心技术课程? 互联网时代,企业在瞬息万变的市场赢得和保持竞争优势的核心在于持续创新。业界前沿互联网公司的实践表明,微服务架构 (Microservices Architecture)是企业应对业务复杂性,支持大规模持续创新行之有效的架构手段。 微服务架构作为一种渐进式的演进架构,自提出以来便被互联网企业和传统企业所重视和采用。微服务架构所涉及的知识广泛,其学习曲线相对陡峭,其中架构落地、网关、监控等技术问题是常见的挑战。技术人员光靠自学摸索,通常需要耗费不少时间精力。由于微服务架构可操作学习的案例相对较少,尤其是大型业务微服务架构应用案例,所以大家对微服务架构理念虽然有一定理解,但是对微服务架构如何落地缺乏可靠的最佳实践经验。技术基础和平台工具易学,但架构思维和落地经验难建。一个合格的架构师除了最核心的技术理论基础之外,必须具备良好的架构视野和思维模式,以及通过技术与业务结合的落地实践所总结的行之有效的经验和方法论。 课程大纲: 为了让大家快速系统了解微服务核心技术知识全貌,我为你总结了「微服务核心技术框架图」,帮你梳理学习重点,建议收藏!!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值