反向代理、负载均衡实战,【深度思考
一、Dubbo 是什么?
Dubbo 是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。
二、为什么要用 Dubbo?
因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。
1、使用 Dubbo 可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。2、分布式架构可以承受更大规模的并发流量。
三、Dubbo 和 Spring Cloud 有什么区别?
1、通信方式不同:Dubbo 使用的是 RPC 通信,而 Spring Cloud 使用的是 HTTP RESTFul 方式。2、组成不一样:dubbo 的服务注册中心为 Zookeerper,服务监控中心为 dubbo-monitor,无消息总线,服务跟踪、批量任务等组件;spring-cloud 的服务注册中心为 spring-cloud netflix enruka,服务监控中心为 spring-boot admin,有消息总线,数据流、服务跟踪、批量任务等组件;
四、Dubbo 需要 Web 容器吗?
不需要,如果硬要用 Web 容器,只会增加复杂性,也浪费资源。
五、Dubbo 内置了哪几种服务容器?
三种服务容器:1、Spring Container2、Jetty Container3、Log4j Container
Dubbo 的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。
六、dubbo 都支持什么协议,推荐用哪种?
1、dubbo://(推荐)2、http://3、rest://4、redis://5、memcached://
七、Dubbo 里面有哪几种节点角色?
1、provide:暴露服务的服务提供方 2、consumer:调用远程服务的服务消费方 3、registry:服务注册于发现的注册中心 4、monitor:统计服务调用次数和调用时间的监控中心 5、container:服务运行容器
八、dubbo 服务注册与发现的流程图
九、Dubbo 默认使用什么注册中心,还有别的选择吗?
推荐使用 zookeeper 作为注册中心,还有 redis、multicast、simple 注册中心。
十、Dubbo 核心的配置有哪些?
总结
三个工作日收到了 offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题 LeetCode 中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题 LeetCode 中文版》总共有 15 个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有 23 个章节:
第二个是 Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
第三个是网络(给大家看一本我之前得到的《JAVA 核心知识整理》包括 30 个章节分类,这本 283 页的 JAVA 核心知识整理还是很不错的,一次性总结了 30 个分享的大知识点)
评论