java面试问题

摘要:
Canalseerver可以有多个实例。底层由地图维护。每个实例对应一个canalclient,即canalclient中的目标。当运河服务器想要开始一段运河时,它首先尝试开始对动物园管理员的判断;注意:为了减少对mysqldump的请求,不同服务器上只有一个实例必须同时运行,其他实例必须处于备用状态。为什么我们需要将架构从Canal调整为RabbitMQ以统一使用;RabbitMQ和Kafka有什么不同?卡夫卡的消费者再平衡是什么?卡夫卡适用于哪些场景?Kafka如何确保高可用性?卡夫卡如何实现消息的幂等性?使用了哪些设计模式?Spring CloudGateWay可以做什么?

canal原理
Canal server伪装一个MySQL slave,向MySQL发送dump请求;
MySQL master 会将变更日志写入binlog中,然后Slave 的 I/O thread 会去请求 Master 的binlog,并将得到的binlog写到本地的relay-log(中继日志)文件中;
Slave 的 SQL thread 会从中继日志读取binlog,然后执行binlog日志中的内容,也就是在自己本地再次执行一遍SQL语句,从而使从服务器和主服务器的数据保持一致。
canal server 可以有多个instance,底层是由map维护的,每一个instance对应一个canal clinet,也就是canalClient中的destination。
canal server 要启动某个 canal instance 时都先向 zookeeper 进行一次尝试启动判断 (实现:创建 EPHEMERAL 节点,谁创建成功就允许谁启动);
注意:为了减少对mysql dump的请求,不同server上的instance要求同一时间只能有一个处于running,其他的处于standby状态。

为什么需要从canal替换到RabbitMQ
架构调整,统一使用;

RabbitMQ和Kafka有什么区别
RabbitMQ消息堆积怎么处理?
RabbitMQ怎么保证消费顺序?
RabbitMQ的持久化方式是怎么样的?
RabbitMQ怎么保证事务?
RabbitMQ集群模式有哪几种?各有什么优缺点?
主备模式
远程模式
镜像模式
多活模式: 实现异地数据复制的主流模式
Kafka的架构师怎么样的?
Kafka怎么保证高吞吐量的?
Kafka怎么保证顺序性?
Kafka的消费者再平衡是什么?
Kafka怎么保证消息事务?
Kafka适用于什么场景?
Kafka中的消息是怎么存储的?
Kafka怎么保证高可用?
Kafka怎么实现消息的幂等性?
Kafka中的ISR是什么?简要说明
Kafka怎么存储消息的
Redis分布式锁怎么实现?
Redis的持久化类型有哪些?简要说明优缺点
Redis的线程模型是什么?
Redis的集群类型有哪些?各有什么优缺点
Redis为什么这么快?
缓存雪崩、缓存穿透分别是什么?
单点登录CAS的原理
怎么解决跨域问题?
Spring Bean的生命周期是什么?
Spring是一个什么样的框架,谈谈你的理解
Spring的IOC怎么理解?
Spring的AOP怎么理解?
Spring的AOP有哪些重要组件?
Spring AOP动态代理有哪些实现方式?分别是怎么处理的?
Spring是怎么解决循环依赖的?
Spring中BeanFactory和FactoryBean有什么区别?
Spring Bean的后置处理器是什么?什么时候会用到
Spring中的声明式事务是怎么实现的?
SpringBoot跟Spring有哪些区别?
SpringBoot有哪些重要的注解,其简要列举
Spring MVC的简要流程请说明
MyBatis的缓存有哪几种,请简要说明
MyBatis的`#` 与 `$`有什么区别
MySQL的索引是怎么实现的?
MySQL有哪些索引?请详细说明
MySQL的BufferPool和ChangeBuffer是什么,简要说明
MySQL的事务是怎么实现的?(MVCC)
MySQL的架构是怎么样的?
MySQL索引什么时候会失效?
MySQL存储引擎有哪些?请简要说明InnoDb和Mysiam的区别
MySQL发生死锁怎么定位与解决?
MySQL慢查询日志有什么作用?
MySQL的redo log,undo log是什么?
MySQL的主从复制和读写分离怎么实现?
MySQL的分区怎么做?物理上存储跟普通表有什么不同
MySQL中,什么情况下会锁表?如果数据量很大,怎么处理alter table语句
MySQL和Redis双写一致性怎么做?
SpringCloud 可以用来做什么?
SpringCloud有哪些常用组件?简要阐述
SpringCloud Zuul怎么实现的?用到了哪些设计模式
SpringCloud GateWay可以用来做什么?
SpringCloud Eureka是怎么实现的?
SpringCloud Hystrix怎可以用来干什么?
SpringCloud Hystrix怎么做线程隔离的?
SpringCloud OpenFeign怎么实现的?
SpringCloud中网关、Hystrix、OpenFeign都有超时时间吗?如果有,那么请求超时是以哪个为准?
简要说明Paxos协议
简要说明ZAB协议
简要说明CAP理论
简要说明BASE理论
Zookeeper是怎么选举的?
war包和jar包的区别?
怎么部署服务到服务器?
Git有哪些工作空间?

免责声明:文章转载自《java面试问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#中图片.BYTE[]和base64string的转换Kotlin 实战记录(一):Android Studio + Kotlin 开发问题整理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

zabbix监控MySQL主从状态

首先需要拥有zabbix环境及MySQL主从环境   搭建zabbix环境可参考:https://www.cnblogs.com/l999999999/p/12051165.html 需要用到三台虚拟机 一:192.168.238.141 zabbix-server 二:192.168.238.142 zabbix-agent mysql主 三:192.1...

PHP操作Redis数据库常用方法

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合); 要让php能用上redis,首先就得安装redis扩展。 1.安装re...

从未如此简单:10分钟带你逆袭Kafka!【转】

【51CTO.com原创稿件】Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。 较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息...

MySQL数据库配置主从服务器实现双机热备

转自:http://www.cnblogs.com/cchun/p/3712637.html 一、安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22  二、配置MySQL主服务器(192.168.21.169) mysql -uroot -p #进...

MetadataCache更新

MetadataCache什么时候更新 updateCache方法用来更新缓存的。 发起线程 controller-event-thread controller选举的时候 CLASS_NAME METHOD_NAME LINE_NUM kafka/controller/KafkaController sendUpdateMetadata...

linux下mysql的安装与使用

一、mysql的安装 之前搭建linux下项目的发布,最后遗留的问题时数据库的迁移,如何从windows上迁移到linux上?这里首先进行mysql数据库的安装 1、下载mysql安装包 在这里下载的是如下版本的mysql https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc...