自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Elasticsearch核心技术(二):深入讲解

高性能:搜索和分析很快,涵盖了多种查询语句和数据结构。支持横向扩展:通过增加结点数量扩展搜索和分析能力。可以扩展到上百台服务器,处理PB级结构化或非结构化数据。实时( NRT,near real time)检索:Elasticsearch是一个接近实时的搜索平台,从建立索引,到这个索引可以被搜索只需要很小的延迟,通常是1秒。可以进行refresh参数的调整来缩短这个延迟时间。高可用性、可靠性:支持数据备份和恢复。全文索引:把文档转换成可搜索的结构化数据。

2024-04-13 17:43:13 11 1

转载 HBase入门

HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制和分区机制可以轻松实现在线扩容、缩容和数据容灾,是大数据领域中 Key-Value 数据结构存储最常用的数据库方案。

2023-06-01 21:37:55 513

转载 Hive入门

1.按照JOIN顺序中的最后一个表应该尽量是大表,因为JOIN前一阶段生成的数据会存在于Reducer的buffer中,通过stream最后面的表,直接从Reducer的buffer中读取已经缓冲的中间结果数据(这个中间结果数据可能是JOIN顺序中,前面表连接的结果的Key,数据量相对较小,内存开销就小),这样,与后面的大表进行连接时,只需要从buffer中读取缓存的Key,与大表中的指定Key进行连接,速度会更快,也可能避免内存缓冲区溢出。Hive的表都是纯逻辑表,就只是表的定义等,即表的元数据。

2023-05-10 21:36:16 434

转载 第八部分:在亚马逊云科技上打造合规的应用架构

本专题系列,围绕着客户 VPC 内部的服务,VPC 外部的托管服务以及两者之间的交互进行了深入分析。这些分析有助于我们理解亚马逊云科技上更加复杂的架构。本章节中,我们对一些具有代表性的架构进行分析,来进一步加深理解。本文是“在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构”系列主题的第八部分,也是最后的总结部分。引论部分:在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构。第一部分:客户 Amazon VPC 内部资源和服务的相互访问。

2023-05-05 14:05:41 275

转载 第七部分:从客户 Amazon VPC 访问其他客户 Amazon VPC 内的服务或资源

本文是“在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构”系列主题的第七部分,前面我们围绕着客户 VPC 内部的服务,VPC 外部的托管服务以及两者之间的交互进行了深入分析。而实际上,客户在实际的部署中往往不止一个 VPC,而这些 VPC 内部的资源之间可能需要进行交互,本章节我们主要探讨,围绕着客户多个 VPC 如何进行网络交互。引论部分:在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构。第一部分:客户 Amazon VPC 内部资源和服务的相互访问。

2023-05-05 14:04:12 169

转载 第六部分:在亚马逊云科技上打造无服务器 Serverless 应用

本文是“在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构”系列主题的第六部分,在前面的部分,我们分析了亚马逊云科技中客户 VPC 内部资源,客户 VPC 内部资源和外部托管服务之间的交互访问。随着越来越多的无服务器服务的出现,基于这些服务打造无服务器的应用也成为了很多客户倾向的选择。无服务器是亚马逊云科技创新和发展的趋势,亚马逊云科技提供了很多的无服务器服务。本文提供了无服务器应用的几个重要实验场景,并对通过无服务器服务打造应用的一些要点进行了总结。

2023-05-05 13:59:36 260

转载 第五部分:从托管服务 Amazon API Gateway 集成 Amazon VPC 内部私有服务

亚马逊云科技托管服务访问用户 Amazon VPC 内部私有资源,通常发生在计算或接口类的托管服务访问用户 VPC 内部资源的情形下。本文主要讲述,在微服务 API 的架构下,如何利用 Amazon API Gateway 管理 API,并私有集成 VPC 中的负载均衡等资源,将访问请求分发给后端的服务。引论部分:在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构。第一部分:客户 Amazon VPC 内部资源和服务的相互访问。

2023-05-05 13:58:36 148

转载 第四部分:从托管服务 Amazon Glue 访问客户 Amazon VPC 内部私有数据存储

亚马逊云科技托管服务访问用户 Amazon VPC 内部私有资源,通常发生在计算或接口类的托管服务访问用户 VPC 内部资源的情形下。本文主要讲述云上的 ETL 服务 Amazon Glue,如何访问位于客户 VPC 内部的 Amazon RDS 数据库或 Amazon MSK 中的数据。Amazon Glue 访问 RDS 通常是通过建立 JDBC 或 Network 类型的 Glue Connection 连接以读取 Amazon RDS 数据库中的数据。

2023-05-05 10:57:03 236

转载 第三部分:从托管服务 Amazon Lambda 访问客户 Amazon VPC 内部私有资源

亚马逊云科技托管服务访问用户 Amazon VPC 内部私有资源,通常发生在计算或接口类的托管服务访问用户 VPC 内部资源的情形下。我们会选择性的针对 Amazon Lambda,Amazon Glue 以及 Amazon API Gateway 访问不同的资源进行详细的探讨。这些托管服务访问 VPC 内部资源,和前面章节中讲到的 VPC 内部实例通过 VPC 接口终端节点访问外部托管服务,虽然看似相反的逻辑,但本质上非常接近,都是通过在 VPC 内生成弹性网络接口进行交互的。

2023-05-05 10:25:24 108

转载 第二部分:从客户 Amazon VPC 访问外部亚马逊云科技托管服务

亚马逊云科技有很多的无服务器的托管服务,这些服务具有高可用性,高弹性和普遍性。从客户 VPC 内部访问外部的托管服务,几乎是必然的,也只有这样才能更有效地利用云上的优势。因此在继前面的第一部分讲述了 VPC 内部的资源相互访问后,我们需要考虑如何和外部的托管服务进行连接,以及访问这些服务的网络安全以及所需要的额外配置。本文是“在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构”系列主题的第二部分。主要讲述在亚马逊云科技中,如何从客户 VPC 中访问外部亚马逊云科技的托管服务。

2023-05-05 10:17:46 338

转载 第一部分:客户 Amazon VPC 内部资源和服务的相互访问

本文是“在亚马逊云科技上围绕 Amazon VPC 打造内外兼修的合适架构”系列主题的第一部分,我们从客户 VPC 内部讲起,主要讲述在 VPC 中,亚马逊云科技如何设计其网络部分,如何在满足安全管控的条件下,达到内部资源和服务的相互访问。对 Amazon VPC 中内部网络的理解,是理解 VPC 内部资源和外部托管服务相互访问的重要前提。

2023-05-05 09:56:53 250

转载 在AWS上围绕 Amazon VPC 打造内外兼修的合适架构

Amazon Virtual Private Cloud(VPC)是亚马逊云科技中一个非常重要的服务。VPC 本身就像一堵隔离墙,在网络层面上隔离了 VPC 内部和 VPC 外部的网络环境,诸如其他客户的 VPC、亚马逊云科技管理的 VPC,甚至是外部互联网。在 VPC 内部,客户可以构建自己的内部网络环境,可以直接控制 VPC 内部的资源。

2023-05-05 09:17:13 196

转载 JVM参数设置示例

任何新的业务系统在上线以前都需要去估算服务器配置和JVM的内存参数,这个容量与资源规划并不仅仅是系统架构师的随意估算的,需要根据系统所在业务场景去估算,推断出来一个系统运行模型,评估JVM性能和GC频率等等指标。以下是我结合大牛经验以及自身实践来总结出来的一个建模步骤:计算业务系统每秒钟创建的对象会佔用多大的内存空间,然后计算集群下的每个系统每秒的内存佔用空间(对象创建速度)设置一个机器配置,估算新生代的空间,比较不同新生代大小之下,多久触发一次MinorGC。

2023-02-23 21:18:26 1331

转载 Elasticsearch核心技术(一):Elasticsearch入门

Elasticsearch是面向文档(Document)的,文档是所有可搜索数据的最小单位;文档会被序列化成Json格式,保存在Elasticsearch中,并且每个文档都有一个唯一ID,可以通过Elasticsearch自动生成,也可以自己进行指定。对比MySQL,每行数据都有一个主键,这个主键可以使用MySQL自增主键,也可以通过雪花算法等方式生成然后进行自己设置。文档的元数据,用于标注文档的相关信息。例如:_index表示文档所属的索引名,_id表示文档唯一ID,_score表示相关性打分,_sour

2022-12-15 16:03:31 400

转载 Hadoop生态圈(九)YARN架构深入学习

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。可以把 Hadoop YARN 理解为相当于一个分布式的操作系统平台,而 MapReduce 等计算程序则相当于运行于操作系统之上的应用程序,YARN 为这些程序提供运算所需的资源(内存、cpu 等)。

2022-10-19 21:17:10 797

转载 Hadoop生态圈(八)MapReduce工作流程详解

待数据 copy 完成之后,copy 阶段就完成了,开始进行 sort 阶段,sort 阶段主要是执行 finalMerge 操作,纯粹的 sort 阶段,完成之后就是 reduce 阶段,调用用户定义的 reduce 函数进行处理。shuffle 阶段,大量的数据从 map 阶段输出,发送到 reduce 阶段,这一过程中,可能会涉及到大量的网络 IO。Shuffle 的本意是洗牌、混洗的意思,把一组有规则的数据尽量打乱成无规则的数据。shuffle 阶段过程繁琐、琐碎,涉及了多个阶段的任务交接。

2022-10-16 20:15:17 434

转载 Hadoop生态圈(七)MapReduce并行度机制

MapTask 的并行度指的是map阶段有多少个并行的task共同处理任务。map 阶段的任务处理并行度,势必影响到整个 Job 的处理速度。

2022-10-16 20:07:31 482

转载 Hadoop生态圈(六)MapReduce基础理论

分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。Hadoop MapReduce是一个分布式运算程序的编程框架,用于轻松编写应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多 TB 数据集)。

2022-10-16 13:48:34 243

转载 Hadoop生态圈(五)HDFS高可用架构

(英语:single point of failure,缩写SPOF)是指系统中某一点一旦失效,就会让整个系统无法运作,换句话说,单点故障即会整体故障。(英语:high availability,缩写为HA),IT 术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。是进行系统设计时的准则之一。高可用性系统意味着系统服务可以更长时间运行,通常通过提高系统的容错能力来实现。高可用性或者高可靠度的系统不会希望有单点故障造成整体故障的情形。

2022-09-26 10:00:47 560

转载 Hadoop生态圈(四)HDFS读写流程和联邦机制

①客户端通过调用 FileSystem 对象的 open() 方法来打开希望读取的文件,对于HDFS来说,这个对象是 DistributedFileSystem 的一个实例。②DistributedFileSystem 通过使用远程过程调用(RPC)来调用 NameNode,以确定文件起始块的位置。③对于每一个块, NameNode 返回存有该块副本的 DataNode 地址。此外,这些 DataNode 根据它们与客户端的距离来排序(根据集群的网络拓扑)。

2022-09-25 20:51:44 499

转载 Hadoop生态圈(三)HDFS元数据持久化(FSImage、EditLog、SNN)

这样在 NameNode 启动的时候就不用将巨大的 EditLog 中的事务再执行一遍,而是直接加载合并之后的新 FSImage ,然后重新执行未被合并的 EditLog 文件就可以了。此时 NameNode 启动结束,等待接受用户的操作请求,并把用户操作写入新的 edit log 中,定期进行 checkpoint,对元数据执行快照。另外,由于 NameNode 在启动的时候,需要将 EditLog 中的操作重新执行一遍,过大的 EditLog 会延长 NameNode 的启动时间。

2022-09-25 16:29:50 980 1

转载 Hadoop生态圈(二)HDFS概述

它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。HDFS 主要适合去做批量数据出来,相对于数据请求时的反应时间,HDFS 更倾向于保障吞吐量。

2022-09-21 21:17:44 158

转载 Hadoop生态圈(一)Hadoop概述

Hadoop Distributed File System,简称HDFS,是一个分布式文件系统,用来解决海量数据存储的问题。存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。在本地文件系统存储文件块数据,以及块数据的校验。每隔一段时间对NameNode元数据备份。Yet Another Resource Negotiator 简称YARN,另一种资源协调者,是Hadoop的资源管理器,用来解决资源任务调度的问题。

2022-09-05 17:14:45 403

转载 Kubernetes(七)网络模型进阶

1. Kubernetes 网络模型来龙去脉容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP 或者宿主机的资源,完全是虚拟的。它的设计初衷是:当需要访问外部世界时,会采用 SNAT 这种方法来借用 Node 的 IP 去访问外面的服务。比如容器需要对外提供服务的时候,所用的是 DNAT 技术,也就是在 Node 上开一个端口,然后通过 iptable 或者别的某

2022-05-09 20:45:02 145

转载 Kubernetes(六)Service

1. 需求来源1.1 为什么需要服务发现在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁,它的 IP 地址都会发生变化,这样就不能使用传统的部署方式,不能指定 IP 去访问指定的应用。另外在 K8s 的应用部署里,之前虽然学习了 deployment 的应用部署模式,

2022-05-09 20:33:04 199

转载 Kubernetes(五)网络模型

建议先学习Docker容器技术网路原理再来学这篇文章。本文将主要分享以下 4 方面的内容:Kubernetes 基本网络模型; Netns 探秘; 主流网络方案简介; Network Policy 的用处。1. Kubernetes网络模型本节来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特别好的参考案例。Kubernetes 对一个容器网络是否合格做出了限制,也就是 Kubernetes 的容器网络

2022-05-04 21:25:35 450

转载 Kubernetes(四)PV和PVC

1. Volumes 介绍1.1 Pod Volumes首先来看一下 Pod Volumes 的使用场景:场景一:如果 pod 中的某一个容器在运行时异常退出,被 kubelet 重新拉起之后,如何保证之前容器产生的重要数据没有丢失? 场景二:如果同一个 pod 中的多个容器想要共享数据,应该如何去做?以上两个场景,其实都可以借助 Volumes 来很好地解决,接下来首先看一下 Pod Volumes 的常见类型:本地存储:常用的有 emptydir/hostpath; 网络存储:网络

2022-05-03 10:17:33 902

转载 Kubernetes(三)有状态应用编排 - StatefulSet

简介: 有状态应用的部署交付向来都是应用运维领域的难点之一,常见的有状态需求如在磁盘持久化状态、每个机器需要独立且稳定的网络标识、发布顺序确定性等。针对这类问题 Kubernetes 提供了 StatefulSet 控制器,作为帮助有状态应用部署和在 K8s 环境落地的 Workload。1. “有状态”需求我们之前讲到过 Deployment 作为一个应用编排管理工具,它为我们提供了哪些功能?如下图所示:首先它支持定义一组 Pod 的期望数量,Controller 会为我们维..

2022-05-01 21:58:22 653

转载 Kubernetes(二)Pod详解及容器设计模式

题外话:推荐大家学习k8s,看一下张磊的《深入剖析Kubernetes》这本书。1. 为什么需要 Pod1.1 容器的基本概念我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单位,但是为什么我们会需要这样一个概念呢?在使用容器 Docker 的时候,也没有这个说法。其实,如果想要理解 Pod,首先要理解容器,所以来回顾一下容器的概念:容器的本质实际上是一个进程,是一个视图被隔离,资源受限的进程。容器里面 PID=1 的进程就是应用本身,这

2022-05-01 21:09:00 402

转载 Docker容器技术原理(三)rootfs

前言我们之前介绍过了 Linux 最基础的两种技术,Namespace 和 Cgroups。Namespace 的作用是隔离,它可以让进程只能看到 Namespace 里面的世界;Cgroups 的作用是限制,给这个世界围上了一堵墙。这样,这个进程便真的与世隔绝了。现在世界已经有了墙,那么如果容器低头看向了地面,它能看到什么呢?或者说,容器里的进程看到的文件系统又是什么样子的呢?Change Root你可能会说这是一个 Mount Namespace 的问题,容器里的应用进程,理应看到一份完

2022-04-20 20:54:25 2716

转载 Docker容器技术原理(二)限制

前言在上一篇文章中我已经介绍了 Linux 容器实现隔离的手段 – Namespace。Namespace 技术实际上修改了应用进程看待整个计算机视图,即它的视线被操作系统做了限制,只能看到某些指定的内容。但其实对宿主机来说,这些隔离了的进程与其他进程并无多大区别。在介绍完隔离技术后,我们再来介绍一下容器的限制技术。Linux Cgroups也许你会问,我们不是通过 Linux Namespace 创建了一个容器了嘛,为什么还是需要对容器做限制呢?我们可以这么想,虽然容器内的第 1 号进

2022-04-20 20:50:50 319

转载 Docker容器技术原理(一)隔离

引子我们之前说过,容器是一种沙盒技术,通俗地说,容器可以像一个集装箱一样把我们的应用装起来。这样,应用与应用之间便有了边界,不会互相干扰,被放进集装箱的应用也可以被我们搬来搬去,完美!那么,你可知道这功能是如何实现的呢?今天,我们便来聊聊边界的实现手段。手段我们先下结论,容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个边界。对于一个进程来说,它的静态表现就是程序,平时就呆在磁盘上。当它运行起来了,就变成了计算机里的数据和状态的总和,包括计算机内存中的数据、寄存器里的值

2022-04-20 20:47:41 991

转载 Docker容器技术原理(五)跨主机网络实现原理

在上一篇的文章中,我为你详细讲解了在单机环境下,Linux 容器网络的实现原理(网桥模式)。并且提到了,在Docker的默认配置下,不同宿主机上的容器通过 IP 地址进行互相访问是根本做不到的。而正是为了解决这个容器『跨主通信』的问题,社区里才出现了那么多的容器网络方案。而且,相信你一直以来都有这样的疑问:这些网络方案的工作原理到底是什么?要理解容器『跨主通信』的原理,就一定要先从 Flannel 这个项目说起。Flannel 项目是 CoreOS 公司主推的容器网络方案。事实上,Flann..

2022-03-31 20:53:12 541

转载 Docker容器技术原理(四)单机网络原理

这里我们以Docker为例,解析一下Linux操作系统下容器网络实现原理。Docker 的网络实现其实就是利用了 Linux 上的网络名字空间和虚拟网络设备(特别是 veth pair)。1. 前景知识1.1 ip addr命令的使用Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上还有一个命令叫 ip addr 可以查看IP地址。ip addr 除了 IP 地址,还可以查看网卡信息。使用 ip addr 命令查看本机(阿里云Centos7)网卡信

2022-03-31 20:45:28 941

转载 Kubernetes(一)基本概念

1. Kubernete简介Kubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心。建于 Docker 之上的 Kubernetes 可以构建一个容器的调度服务,其目的是让用户透过 Kubernetes 集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是 Container Pod。一个 Pod 由一组工作于同一物理工作节点的容

2021-12-15 20:59:03 6594

转载 ThreadLocal(三)TransmittableThreadLocal详解

1. 简介TransmittableThreadLocal 是Alibaba开源的、用于解决 “在使用线程池等会缓存线程的组件情况下传递ThreadLocal” 问题的 InheritableThreadLocal 扩展。若希望 TransmittableThreadLocal 在线程池与主线程间传递,需配合 TtlRunnable 和 TtlCallable 使用。2. 使用场景下面是几个典型场景例子。分布式跟踪系统 应用容器或上层框架跨应用代码给下层SDK传递信息 日志收集记录系统上

2021-06-27 20:46:25 785

转载 ThreadLocal(二)InheritableThreadLocal详解

1. 简介在上一篇 ThreadLocal详解 中,我们详细介绍了ThreadLocal原理及设计,从源码层面上分析了ThreadLocal。但由于ThreadLocal设计之初就是为了绑定当前线程,如果希望当前线程的ThreadLocal能够被子线程使用,实现方式就会相当困难(需要用户自己在代码中传递)。在此背景下,InheritableThreadLocal应运而生。Inheritable thread-local variables are used in preference to ord

2021-06-27 20:28:54 278

转载 分布式AKF拆分原则

1. 前言当我们需要分布式系统提供更强的性能时,该怎样扩展系统呢?什么时候该加机器?什么时候该重构代码?扩容时,究竟该选择哈希算法还是最小连接数算法,才能有效提升性能?在面对Scalability可伸缩性问题时,我们必须有一个系统的方法论,才能应对日益复杂的分布式系统。这一讲我将介绍AKF立方体理论,它定义了扩展系统的3个维度,我们可以综合使用它们来优化性能。2.什么是AKFAKF立方体也叫做scalacube,它在《TheArtofScalability》一书中被首...

2021-04-12 20:54:23 1154 1

转载 HashMap底层实现原理概述

1. 前言在一场面试中最能打动面试官的其实是细节,候选人对细节的了解程度决定了留给面试官的印象到底是“基础扎实”还是“基础薄弱”,如果候选人能够举一反三主动阐述自己对一些技术细节的理解和总结,那无疑是面试过程中的一大亮点。HashMap是一个看着简单,但其实里面有很多技术细节的数据结构,在一场高端的面试中即使不问任何红黑树(Java 8中HashMap引入了红黑树来处理极端情况下的哈希碰撞)相关的问题,也会有很多的技术细节值得挖掘。2. 把书读薄在Java 7中HashMap实现有1000多行,

2021-04-07 09:49:43 36246 9

转载 Rocket MQ(六)消息存储之二

文章摘要:上篇中主要介绍了RocketMQ存储部分的整体架构设计,本篇将深入分析RocketMQ存储部分的细节内容在本篇文章中,小编将继续深入分析与介绍RocketMQ消息存储部分中的关键技术—Mmap与PageCache、几种RocketMQ存储优化技术(包括预先创建分配MappedFile、文件预热和mlock系统调用)、RocketMQ内部封装类—CommitLog/MappedFile/MappedFileQueue/ConsumeQueue的简析。然后,再简要介绍下RocketMQ消息刷盘两种主

2021-04-06 20:38:21 254 1

空空如也

空空如也

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

TA关注的人

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