- 博客(10)
- 资源 (5)
- 收藏
- 关注
原创 【Kafka源码】Kafka启动过程
一般来说,我们是通过命令来启动kafka,但是命令的本质还是调用代码中的main方法,所以,我们重点看下启动类Kafka。源码下下来之后,我们也可以通过直接运行Kafka.scala中的main方法(需要指定启动参数,也就是server.properties的位置)来启动Kafka。因为kafka依赖zookeeper,所以我们需要提前启动zookeeper,然后在server.properties
2017-10-23 17:22:49 941
原创 【Kafka源码】Kafka代码模块
Kafka源码依赖于Scala环境,首先需要安装scala,这块请自行百度进行安装。传送门当然,我们要分析源码,需要下载源码,请自行从github上面下载。 说明:本文使用的kafka版本为0.10.0.1,这是目前公司使用的版本。下面说明下kafka源码的工程结构: 下面主要对core目录模块进行说明,这块是kafka的核心。admin:管理员模块,操作和管理topic,parition
2017-10-23 11:18:11 469
原创 【源码】canal和otter的高可靠性分析
一般来说,我们对于数据库最主要的要求就是:数据不丢。不管是主从复制,还是使用类似otter+canal这样的数据库同步方案,我们最基本的需求是,在数据不丢失的前提下,尽可能的保证系统的高可用,也就是在某个节点挂掉,或者数据库发生主从切换等情况下,我们的数据同步系统依然能够发挥它的作用–数据同步。本文讨论的场景是数据库发生主从切换,本文将从源码的角度,来看看otter和canal是如何保证高可用和高可
2017-10-17 15:35:25 901
翻译 【文档】七、Mysql Binlog不同事件类型的事件内容
下面主要讲述了每个类型的事件中的固定和可变部分的数据。Start_log_event_v3/START_EVENT_V3这个事件出现在v1或v3的binlog文件的开头部分。对于4.0和4.1版本的Mysql,这个事件只是被写在服务启动后的第一个binlog文件中,到达一定的条件后,会产生新的日志文件,但是新的日志文件中不包含这个事件。对于所有的Mysql5.0及以上版本,每个日志文件都会以FORM
2017-10-10 08:09:56 378
翻译 【文档】六、Mysql Binlog版本
binlog文件格式有以下几种: - v1:用于3.23版本 - v3:用于4.0.2到4.1版本 - v4:用于5.0及以上版本v2版本只在4.0.x版本中使用,目前已经不再支持了。处理binlog的程序必须支持以上所有的版本。这部分描述了服务器是如何区分所有的格式的,以便辨别binlog使用的版本。mysqlbinlog也是使用的相同的规则。重要的常量: - START_EVENT_V3
2017-10-10 08:09:25 714
翻译 【文档】五、Mysql Binlog事件结构
这个部分描述了事件被写入binlog或者delay log中的属性。所有的事件有相同的整体结构,也就是包含事件头和事件数据:+===================+| event header |+===================+| event data |+===================+具体的内容随着Mysql版本的升级而不同,这导致了binlo
2017-10-09 10:23:00 331
翻译 【文档】四、Mysql Binlog事件含义详解
下面对binlog中事件做个简单说明:UNKNOWN_EVENT这个事件类型应该永远不会出现。它从不会写入binlog中。如果binlog中的事件没法被识别成其他已知事件,他被当做UNKNOWN_EVENT。START_EVENT_V3在binlog文件最开始的符号事件(在Mysql的4.0和4.1版本中,这个事件只会在服务启动时,写到第一个binlog文件中)。这个事件在3.23到4.1版
2017-10-08 15:54:40 609
翻译 【文档】三、Mysql Binlog事件类文件和类型
在内部,服务器使用C++类文件来表示binlog事件。标准在log_event.h文件中,这些类的方法代码在log_event.cc中。log_event是基础类。其他的详细的事件子类都是来源于他。一个事件的二进制序列包含头和数据两部分。类型码在每个事件的头部出现。事件可能的类型码定义在log_event_type枚举类中:enum Log_event_type { UNKNOWN_EVENT
2017-10-08 15:04:52 394
翻译 【文档】二、Binlog结构和内容概述
binlog是一系列文件,这些文件包含了Mysql服务实例中数据的变化。 - binlog包含一系列二进制日志文件,还包含一个索引文件。 - 每个日志文件包含了一个4字节的魔法数,后面跟着描述数据变化的事件内容。 - 魔法数字可以是0xfe 0x62 0x69 0x6e=0xfe ‘b”i”n’(这是在log_event.h中定义的BINLOG_MAGIC常量) - 每个事件
2017-10-08 14:33:29 617 2
翻译 【文档】一、Mysql BinLog概述
Binlog是一系列日志文件,他们包含的内容是Mysql数据内容的改变。如果想开启binlog功能,需要在启动时带上–log-bin参数。binlog是从Mysql3.23.14版本开始的。它包含所有更新数据的sql语句。它还包含可能更新数据的语句(比如,删除不存在的数据行的语句),除非日志的记录是以基于行的。sql语句是以描述修改的事件形式存储的。binlog也包含每个语句的执行时间。binlog
2017-10-08 14:07:16 244
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人