Day01
每日必会
微服务的好处?一定比单体好吗?
面试官这个不一定,技术还是为业务服务的,简单的业务单体肯定更好,他没有分布式事务、服务雪崩等一系列服务治理的问题,并且部署、维护成本低。微服务更适合一些表模型复杂、业务链路长的场景,这样虽然会带来一些服务治理问题,但是也降低了服务之间的耦合,有利于后续的服务拓展。
微服务你用到了哪些中间件
我的项目用到了Nacos,当做注册和配置中心;远程服务调用OpenFeign;网关GateWay
SPRINGCLOUDGATEWAYZUUL
SPRINGCLOUDALIBABA
SPRINGCLOUDCONFIG,NACOS
EUREKACONSU
SPRINGCLOUD
服务监控和保护
DUBBO-ADNIN,功
SPRINGCLOUDGIATEWAY
SPRINGCLOUACONFIG
ZK,REDIS,NACOS
配置中心
SENTINEL
DUBBO
服务网关
IGNHTTP协I
HSTRIX
服务远程调用
功能弱
DUBBO,FEIGRN
DUBBO协议
注册中心
EUEKA
NACOS
ZUL
无
无
Nacos注册中心的心跳机制
Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除
NACOS注册中心细节分
服务消费者
册服务信息
ACOS主动询问
L0CALAOST:8O81
服务列表缓存
USER-SEVICE:
采用心跳监测
注册中心
服务PU11
服务提供者
定时拉取
ACOS
远程调用
非临时实例
临时实例
00
●这里也有可能问到Eureka和Nacos的区别,我贴个图有点印象(比较少,了解即可)
EUREKA-CLIENT
心跳续约,每30秒1次
UREKA的作用
USERSERVICE
1OCA1HOST:8082
UREKA-SEVER
服务消费者
USERSERVICE
1OCA1HOST:8080
USER-SERVICE的信息
服务提供者
2)拉取服务
LOCA1HOST:8081
1OCA1HOST:8081
1OCA1HOST:8082
)远程调用
1OCALHOST:8083
注册中心
1)注册服务信息
OCA1HOST:8081
1OCA1HOST:8083
SER一SERVICE
ORDER-SERVICE:
....,3)负载均衡
USER-SERVICE:
USER-SERVICE
ERVICE
8083
8082
ORDER-
8081
8080
Nacos与eureka的共同点
一都支持服务注册和服务拉取
二都支持服务提供者心跳方式做健康检测
Nacos与Eureka的区别
一Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
二临时实例心跳不正常会被剔除,非临时实例则不会被剔除
三Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
四Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
常见的负载均衡算法
有轮询、加权轮询、权重、响应时间、随机、区域可用等吧,我们项目中一般都是轮询,它的意思就是当有多台机器的时候,就一个一个轮着来。
理论专项
●Java基础
○JMM模型
○HashMap
○线程池核心参数
○synchronized