自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(309)
  • 收藏
  • 关注

原创 信息流广告预估技术在美团外卖的实践

总的来说,预估的本质上还是要发掘用户的真实需求,我们一方面参考业界,另一方面深入业务,去挖掘更多的用户行为模式,也在探索有没有更自动化的方式将各种用户问题解决掉。还原建模是算法和工程的联合聚力带来的提升,归根结底算法工程的相互结合才能带来更大的改变。大模型与推荐的结合越来越得到大家的关注,但是客观地讲,这依然是属于一个偏长期的工作,这个时候还是要找到一条可行的路径,不断去优化和提升,如果完全指望用一个“大招”去解决掉所有的问题,会非常困难。

2025-04-02 09:11:39 515

原创 Spring MVC注解故障追踪记1

使用注解并不一定会引起错误,但是注解要使用规范,不能乱用。如果通过注解注入,属性值最好也要通过注解方式注入;注解扫描功能虽然很强大、很方便,但是要注意区分扫描范围及过滤特定注解;单元测试能通过的原因:我们一般只指定加载一个配置文件作为测试环境,类实例只会出现一个,故能测试通过;最好最重要的一点就是在使用任何框架时,最好按”Best Practice”规范,避免出现一些莫名其妙的问题。

2025-04-02 09:11:13 924

原创 如何把Android手机变成一个WIFI下载热点? — 报文转发及DNS报文拦截12

随着WiFi的普及,移动运营商的热点也越来越多了,如中国移动的CMCC、中国电信的ChinaNet、中国联通的ChinaUnicom等,一般来说,连上此类的热点,打开浏览器上网时都会自动跳转到一个验证页面,最近有个项目也有类似的需求,Android手机自建热点,别的手机wifi连接此热点,打开浏览器,输入任意内容,自动跳转到一个下载列表页面,点击相应的链接即可下载相应的文件。

2025-04-02 09:09:56 969

原创 分布式块存储系统Ursa的设计与实现1

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:38:14 608 1

原创 分布式块存储系统Ursa的设计与实现2

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:38:11 638 2

原创 分布式块存储系统Ursa的设计与实现3

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:38:07 917 1

原创 分布式块存储系统Ursa的设计与实现4

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:38:03 652 1

原创 分布式块存储系统Ursa的设计与实现5

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:37:59 841

原创 分布式块存储系统Ursa的设计与实现6

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:37:55 588

原创 分布式块存储系统Ursa的设计与实现7

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:37:50 632

原创 分布式块存储系统Ursa的设计与实现8

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:37:45 725 2

原创 分布式块存储系统Ursa的设计与实现9

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:37:13 1020

原创 分布式块存储系统Ursa的设计与实现10

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:27:51 986

原创 分布式块存储系统Ursa的设计与实现11

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:27:04 678

原创 分布式块存储系统Ursa的设计与实现12

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:26:45 589 1

原创 分布式块存储系统Ursa的设计与实现13

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:26:40 909

原创 分布式块存储系统Ursa的设计与实现14

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:26:36 815

原创 分布式块存储系统Ursa的设计与实现15

引言云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更好的虚拟机动态迁移支持、更短的主机故障恢复时间等等。随着万兆以太网逐渐普及,云硬盘的各项优势得到加强和凸显,其必要性变得十分强烈。云硬盘的底层通常是分布式块存储系统,目前开源领域有一些此类项目,如Ceph RBD、Sheepdog。另外

2025-01-11 15:26:31 811

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍1

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:25 660 1

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍2

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:17 576

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍3

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:14 637

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍4

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:10 568 1

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍5

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:06 555

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍6

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:43:01 641

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍7

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:52 518 3

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍8

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:47 1107

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍9

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:44 637 2

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍10

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:40 1072 1

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍11

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:35 729 2

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍12

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:31 632 2

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍13

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:28 774

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍14

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:24 559 1

原创 高级语言(Java\Python\Php)的编译:链接及装载过程介绍15

这里我们看到了nm命令的输出默认有三列,其中最左边的一列是变量的相对地址,中间的一列表示变量所在的段的类型,右面表示变量的名字。我们在C源码文件部分曾经提到过,变量和函数的声明本质上是给编译器一个承诺,告诉编译器虽然在本文件中没有这个变量或者函数定义,但是在其他文件中一定有,所以当编译器发现程序需要读取这个变量对应的数据,但是在源文件中找不到的时候,就会把这个变量放在一个特殊的段(段类型为 U)里面,表示后续链接的时候需要在后面的目标文件或者链接库中找到这个变量,然后链接成为可执行二进制文件。

2025-01-10 20:42:19 935 2

原创 Kafka文件存储机制那些事6

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:29 654

原创 Kafka文件存储机制那些事1

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:22 576 1

原创 Kafka文件存储机制那些事2

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:20 683

原创 Kafka文件存储机制那些事3

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:17 552 1

原创 Kafka文件存储机制那些事4

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:15 597 3

原创 Kafka文件存储机制那些事5

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:12 903 2

原创 Kafka文件存储机制那些事7

在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic名称+有序序号,第一个partiton序号从0开始,序号最大值为partitions数量减1。从上述图3可知这样做的优点,segment index file采取稀疏索引存储方式,它减少索引文件大小,通过mmap可以直接内存操作,稀疏索引为数据文件的每个对应message设置一个元数据指针,它比稠密索引节省了更多的存储空间,但查找起来需要消耗更多的时间。

2025-01-09 21:10:08 809

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除