第一步:服务提供者在启动的时候,将服务注册到注册中心。
第二步:服务消费者启动后,订阅注册中心的服务变更消息。
第三步:服务信息变更后,注册中心将服务信息通知给服务消费者,服务消费者在本地保存一份服务提供者列表。
第四步:消费者向服务者发起请求。
另外,Dubbo 还提供了监控模块,服务消费者和服务提供者会定时往监控中心发送监控信息,我们可以通过监控面板来查看服务监控信息,如调用次数、响应时间等。
这是对 Dubbo 框架的基本认识,如果面试官继续发问会怎么样呢?比如:服务怎么注册上去的?服务怎么发现的?服务的调用过程的具体细节是怎样的?Dubbo 协议的通讯是怎么实现的?等等。
甚至有时,遇到偏实战型的面试官还会问你项目中常见的问题,如 Dubbo 线程池满了怎么办?Dubbo 调用超时了怎么办?以此来考察你解决实际问题的能力。
这些问题背后的知识点,不仅是我们面试更高的技术岗位(如中间件开发)时需要掌握的,在实际工作中同样必不可少。我们知道,在互联网行业中,对系统的稳定性、吞吐量都有特别高的要求,特别是在双 11、618 等大促活动时,如果出现线上故障,不仅会影响商品销量、用户体验,更严重的是会影响公司的口碑,最终导致用户的流失。因此,快速分析和解决线上问题,就成为了高级技术人员的必备技能。
那么,想要回答好这些问题,快速分析和解决线上问题,征服面试官,获得岗位晋升,我们就必须要深入了解 Dubbo 的底层原理。