1. 什么是微服务?
微服务是一种经过良好架构设计的分布式架构方案
特征:
单一职责:微服务拆分力度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发
面向服务:微服务对外暴露业务接口
自治:团队独立、技术独立、数据独立、部署独立
隔离性强服务调用做好隔离、容错、降级、避免出现级联问题
缺点:架构非常复杂、运维、监控、部署难度提高
2. ribbon的作用介绍?
Ribbon可以在服务消费者与服务提供者之间起到一个中间层的作用,使服务消费者不需要关心服务提供者的具体位置和状态,
而只需要关心服务的逻辑名称即可。当服务消费者需要访问具体的服务时,Ribbon会根据一定的算法规则,选择可用的服务提供者并将请求发送到该提供者上。
3. ribbon的基本工作原理?
拦截我们的RestTemplate请求-->RibbonLoadBalancerClient会从请求url中获取服务名称-->
DynamicServerListLoadBalancer根据服务名称到注册中心拉取服务列表-->注册中心返回列表-->IRule利用内置负载均衡规则,从列表中选择一个-->RibbonLoadBalancerClient修改请求地址
在微服务中只要涉及到负载均衡就是ribbon帮我们完成,由此可见ribbon组件贯穿了整个微服务框架。