1. 前言
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?
拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。
前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:
- ZooKeeper 可以被用作注册中心、分布式锁;
- ZooKeeper 是 Hadoop 生态系统的一员;
- 构建 ZooKeeper 集群的时候,使用的服务器最好是奇数台。
由此可见,我对于 ZooKeeper 的理解仅仅是停留在了表面。
所以,通过本文,希望带大家稍微详细的了解一下 ZooKeeper 。如果没有学过 ZooKeeper ,那么本文将会是你进入 ZooKeeper 大门的垫脚砖。如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。
另外,本文不光会涉及到 ZooKeeper 的一些概念,后面的文章会介绍到 ZooKeeper 常见命令的使用以及使用 Apache Curator 作为 ZooKeeper 的客户端。
如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!
基本概念面试题集( Spring 相关概念梳理)
- 谈谈对Spring loC的理解?
- 谈谈对Spring Dl的理解?
- BeanFactory 接口和ApplicationContext接口不同点是什么?
- 请介绍你熟悉的Spring 核心类,并说明有什么作用?
- 介绍一下Spring的事务的了解?
- 介绍—下Spring的事务实现方式?
- 解释AOP模块
- Spring的通知类型有哪些,请简单介绍一下?
- Spring 通知类型使用场景分别有哪些?
- 请介绍一下你对Spring Beans的理解?
- Spring有哪些优点?
- 在Spring中使用hibernate的方法步骤
- Spring和Struts的区别?
- Spring 框架由哪几部分组成?
- 谈谈你对BeanFactory的理解,BeanFactory 实现举例
- 谈谈对Spring 中的 Web 模块的理解
- BeanFactory 和Application contexts有什么区别?
- 谈谈你对Spring依赖注入的理解?
- 什么是Bean装配?
- 什么是Bean的自动装配?
- 介绍一下自动装配有几种方式?
- 什么是基于注解的容器配置?
- 简述JdbcTemplate类的作用
- 解释AOP
- 解释Aspect切面
- 简述Spring AOP中的通知
- SpringAOP中的织入你怎样理解?
- 请详细介绍一下Spring MVC的流程?
- Spring配置文件?
- @RequestMapping 注解用在类上面有什么作用
- 怎么样把某个请求映射到特定的方法上面
- 谈谈Spring 对DAO的支持

应用场景面试题集(各知识点不同使用场景选型)
- Spring配置 Bean实例化有哪些方式?
- Bean注入属性有哪几种方式
- 在Spring 中如何实现时间处理?
- Spring 中如何更高效的使用JDBC ?
- 请介绍一下设计模式在Spring框架中的使用?
- 讲讲Spring框架的优点有哪些?
- 哪种依赖注入方式你建议使用,构造器注入,还是Setter方法注入?
- 你怎样定义类的作用域?
- 解释Spring支持的几种Bean的作用域
- 在Spring中如何注入一个Java集合?
- 你可以在Spring中注入一个 null和一个空字符串吗?
- 什么是基于Java的Spring注解配置?给—些注解的例子
- 你更倾向用哪种事务管理类型?
- Bean的调用方式有哪些?
- Spring MVC里面拦截器是怎么写的
- 当一个方法向AJAX返回特殊对象,比如Object.List 等,需要做什么处理?
- 如何使用Spring MVC完成JSON操作
- Spring如何整合Hibernate
- Spring 如何整合Struts2 ?
- 开发中主要使用Spring 的什么技术?
- 介绍一下Spring MVC 常用的一些注解
- Spring框架的事务管理有哪些优点

深度度知识面试题集(底层实现原理详解)
- loC控制反转设计原理?
- Spring的生命周期?
- Spring 如何处理线程并发问题?
- 核心容器(应用上下文)模块的理解?
- 为什么说Spring是一个容器?
- Spring的优点?
- Spring框架中的单例Beans是线程安全的么?
- Spring 框架中有哪些不同类型的事件?
- loC的优点是什么?
- 解释Spring 框架中 Bean的生命周期
- 什么是Spring的内部 Bean?
- 自动装配有哪些局限性?
- Spring 框架的事务管理有哪些优点?
- 在Spring AOP中,关注点和横切关注的区别是什么?
- 说说Spring AOP的底层实现原理?
- 如何给Spring 容器提供配置元数据?
- 哪些是重要的Bean生命周期方法?你能重裁它们吗?
- 讲下Spring MVC 的执行流程
- Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决
- Spring中循环注入的方式?
- Spring MVC比较Struts2

拓展内容面试题集(Spring Boot、Spring Cloud相关题集)
- 什么是Spring Boot?
- Spring Boot自动配置的原理?
- Spring Boot 读取配置文件的方式?
- 什么是微服务架构?
- Ribbon和Feign的区别?
- Spring Cloud断路器的作用?
- 为什么要用Spring Boot?
- Spring Boot的核心配置文件有哪几个?它们的区别是什么?
- Spring Boot的配置文件有哪几种格式?它们有什么区别?
- Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?
- 开启Spring Boot特性有哪几种方式?
- Spring Boot需要独立的容器运行吗?
- 运行Spring Boot有哪几种方式?
- 你如何理解Spring Boot中的Starters?
- 如何在Spring Boot启动的时候运行一些特定的代码?
- Spring Boot有哪几种读取配置的方式?
- Spring Boot实现热部署有哪几种方式?
- Spring Boot多套不同环境如何配置?
- Spring Boot可以兼容老Spring项目吗,如何做?
- 什么是Spring Cloud?
- 介绍一下Spring Cloud常用的组件?
- Spring Cloud如何实现服务注册的?
- 什么是负载均衡?有什么作用?
- 什么是服务熔断?
- 请介绍一下Ribbon的主要作用?

Java 圈内最近对 “面试问 Spring” 的吐槽越来越多:不管大小公司或者项目,面试官都要跟你扯一扯 Spring、Spring Boot、微服务,如果答不出来,大概率直接是等回复!
希望本文能够在“Spring”这个问题上能够给你带来质的提升,加油吧!
总结:绘上一张Kakfa架构思维大纲脑图(xmind)

其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
-
Kafka入门
-
为什么选择Kafka
-
Kafka的安装、管理和配置
-
Kafka的集群
-
第一个Kafka程序
-
Kafka的生产者
-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)

-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
[外链图片转存中…(img-DCNGFDfO-1621844163452)]

本文旨在深入探讨ZooKeeper的基础概念、使用场景及其实现原理。不仅涵盖了ZooKeeper作为注册中心和分布式锁的角色,还介绍了其在Hadoop生态系统中的地位和集群配置建议。此外,文章预告将探讨ZooKeeper的命令使用和Apache Curator客户端。
1042

被折叠的 条评论
为什么被折叠?



