自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(738)
  • 资源 (4)
  • 收藏
  • 关注

转载 基于PostgreSQL的时序数据库TimescaleDB的基本用法和概念

TimescaleDB是一个在PostgreSQL之上构建的时序数据库,它利用了关系型数据库的成熟性和灵活性,并针对时序数据进行了优化。TimescaleDB通过使用分区表(hypertable)和连续聚集表(continuous aggregate)来处理时序数据,使得数据的存储和查询更加高效。

2024-04-18 14:14:17 20

转载 InfluxDB 的存储机制解析

尽管InfluxDB自发布以来历时三年多,其存储引擎的技术架构已经做过几次重大的改动, 以下将简要介绍一下InfluxDB的存储引擎演进的过程。以上就是对InfluxDB的存储机制的粗浅解析,由于目前所见的只有单机版的InfluxDB,所以尚不知道集群版的InfluxDB在存储方面有哪些不同。但是,即便是这单机版的存储机制,也对我们设计时序数据库有着重要的参考意义。

2024-04-18 12:00:03 12

原创 egrep分析日志

egrep '关键字.{26}' -o 文件 | sort | uniq -c。统计日志中,关键字出现的次数。

2024-04-11 17:40:55 82

转载 Hive 与mysql区别

视图是一种使用查询语句定义的虚拟表,是数据的一种逻辑结构,创建视图时不会把视图存储到磁盘上,定义视图的查询语句只有在执行视图的语句时才会被执行。不要把 Hive 想的多么神秘,你可以用简单的load方式将数据加载到创建的表里,也可以直接用hadoop指令将数据放入到指定目录,这两种方式都可以直接让你通过SQL查询到数据。数据分布不平衡,某些地方特别多,某些地方又特别少,导致的在处理数据的时候,有些很快就处理完了,而有些又迟迟未能处理完,导致整体任务最终迟迟无法完成,这种现象就是数据倾斜。

2024-04-01 14:25:47 43

转载 图解Kafka Producer常用性能优化配置参数

reconnect.backoff.max.ms:重建链接的最大等待时长,默认1s,连续两次对同一个连接建立重连,等待时间会在reconnect.backoff.ms的初始值上成指数级递增,但超过max后,将不再指数级递增。key.serializer:消息key的序列化策略,org.apache.kafka.common.serialization接口实现类,注意别导错包了。reconnect.backoff.ms:重新建立链接的等待时长,默认50ms,属于底层网络参数,基本不关注。

2024-03-27 11:06:54 33

转载 RBAC用户、角色、权限、组设计方案

RBAC(Role-Based Access Control )基于角色的访问控制。在20世纪90年代期间,大量的专家学者和专门研究单位对RBAC的概念进行了深入研究,先后提出了许多类型的RBAC模型,其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有系统性,得到普遍的公认。RBAC认为权限的过程可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。

2024-03-22 11:05:10 79

转载 数据仓库体系

先举个例子:对于用户来说,一个用户有一个身份证号,一个户籍地址,多个手机号,多张银行卡,那么与用户粒度相同的粒度属性有身份证粒度,户籍地址粒度,比用户粒度更细的粒度有手机号粒度,银行卡粒度,存在一对一的关系就是相同粒度。在一堆的数据中怎么确认哪些是维度属性呢,如果该列是对具体值的描述,是一个文本或常量,某一约束和行标识的参与者,此时该属性往往是维度属性,数仓工具箱中告诉我们牢牢掌握事实表的粒度,就能将所有可能存在的维度区分开,并且要确保维度表中不能出现重复数据,应使维度主键唯一。

2024-03-08 18:05:52 73

原创 logn的感性认识

二分查找的时间复杂度是logn,假设问题规模是100万的数据,要查找的数字不在这100万数据内,最终需要的查找次数是log100万。也就是说利用二分查找,从100万的数据规模内,查找一般,最终需要的次数是20。每次查找,问题规模减半,2的x次方=100万,x的解近似是20。

2024-02-21 15:15:33 398

原创 redis为什么使用跳跃表

在高并发的情况下,树形结构需要执行一些类似于 rebalance 这样的可能涉及整棵树的操作,相对来说跳跃表的变化只涉及局部 _(下面详细说)_这样的树形结构,为什么 Redis 不使用这样一些结构呢?首先,因为 zset 要支持随机的插入和删除,所以它。基于以上的一些考虑,Redis 基于。,关于排序问题,我们也很容易就想到。的论文做出一些改进后采用了。

2024-02-21 14:43:55 378

转载 常见数据结构详细图解、树的高度、深度、层数、跳表、二叉搜索树、平衡二叉树、红黑树、B树、B+树

二叉搜索树也叫二叉查找树。它是一种比较特殊的二叉树。

2024-02-21 12:32:50 131

转载 跳跃表的原理和实现(Java)

/ data// links可以看到节点模型主要分为2个部分。data 部分包含具体的存储数据,这里为了不引入其他杂乱的问题,使用 Integer 作为 key 的类型,Object 作为value 的类型。links 部分包含4个指针,分别是 up、down、left、right,单从名字上就能够明白它们的作用。

2024-02-21 12:12:22 54

转载 【数据结构】红黑树与跳表

skiplist本质上也是一种查找结构,用于解决算法中的查找问题(Searching),即根据给定的key,快速查到它所在的位置(或者对应的value)。我们在《Redis内部数据结构详解》系列的第一篇中介绍dict的时候,曾经讨论过:一般查找问题的解法分为两个大类:一个是基于各种平衡树,一个是基于哈希表。但skiplist却比较特殊,它没法归属到这两大类里面。

2024-02-21 11:05:58 76

转载 window10上配置Hadoop

Shell/Hadoop fs/HDFS/dfs的一些相关操作,相当于是在集群内部,跟集群的一些客户端打交道在这里插入图片描述本文目标:希望在Windows环境对远程的集群进行一个客户端访问,于是现在就在Windows环境上写代码,写HDFS客户端代码,远程连接上集群,对它们进行增删改查相关操作。在这里插入图片描述。

2024-02-18 11:29:52 71 1

转载 关于OLAP引擎你所需要知道的一切

MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。细心的读者可以已经发现了,上面的提到的技术都是在特定场景下增强的,单有的时候我们其实场景还不是很明确,有没有稍微通用的“万金油”方案,方便我们以后扩展和演进呢,这就需要回到Hadoop生态的通用方案了。

2024-02-06 10:37:15 61

转载 一文读懂OLAP

OLAP(On-line Analytical Processing,联机分析处理)是一种用于分析和查询大规模数据集的计算机处理技术。OLAP技术主要用于多维数据分析和数据挖掘,通过提供多维数据模型和多维查询功能,帮助用户从不同角度和层次上对数据进行分析和查询,侧重分析决策。BI模块数据可视化组件。为用户提供拖拽式的数据分析操作页面,以及各种报表、图表的展示。本质上它就类似一个客户端,通过配置连接到各种OLAP引擎上(可以直白的理解为各种DB)来完成数据的分析和查询。

2024-02-06 09:28:54 54

转载 Spring Boot中@Import注解的三种用法!

以下代码中根据。

2024-01-15 14:48:51 260

原创 知识体系图谱

2023-12-29 16:29:53 677

原创 Wireshark分析tcp交互过程

Tcp段长度464字节,seq=2610,ack=1338,next_seq=3074。Tcp段长度494字节,seq=1099,ack=352,next_seq=1593。Tcp段长度523字节,seq=576,ack=176,next_seq=1099。Tcp段长度176字节,seq=352,ack=1593,next_seq=528。Tcp段长度为175字节,seq=1,ack=576,next_seq=176。Tcp段长度为575字节,seq=1,ack=1,next_seq=576。

2023-11-08 15:24:54 1273

转载 零拷贝技术分类

Zero-copy, 就是在操作数据时, 不需要将数据 buffer 从一个内存区域拷贝到另一个内存区域. 因为少了一次内存的拷贝, 因此 CPU 的效率就得到的提升.在 OS 层面上的Zero-copy通常指避免在 用户态(User-space) 与内核态(Kernel-space) 之间来回拷贝数据。Netty 中的 Zero-copy 与 OS 的 Zero-copy 不太一样, Netty的Zero-coyp。

2023-11-01 11:27:19 464

原创 logback-classic包中ThrowableProxy递归缺陷StackOverflowError解析

logback-classic(

2023-10-27 16:46:09 511

原创 语义化版本 2.0.0

主版本号:当你做了不兼容的 API 修改,次版本号:当你做了向下兼容的功能性新增,修订号:当你做了向下兼容的问题修正。先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。

2023-10-09 08:50:10 192

转载 API网关

在微服务架构体系里面,我们一般会使用到微服务网关或叫API网关。大家都比较清楚,在微服务架构体系下本身是去中心化的架构,通过服务注册中心来实现服务注册发现和消费调用,那么为何又需要使用API网关?在传统的ESB总线进行服务集成的时候我们就经常谈到一个概念就是位置透明,即需要屏蔽底层业务模块提供API接口服务地址信息,并实现多个微服务API接口的统一出口。即类似设计模式里面经常谈到的门面模式。如何给API网关一个定义?

2023-09-28 11:09:14 331

原创 微服务架构转型

微服务转型-架构规划业务架构和数据架构应用架构的规划和建设微服务转型-服务拆分微服务转型-和敏捷方法论集成微服务转型-实施前技术储备微服务转型-实施步骤

2023-09-28 09:31:53 216

原创 数字化转型

数字化转型方法论企业架构和SOA架构规划企业私有云PaaS平台和微服务架构规划云原生转型和技术平台规划数字化转型-从消费互联到产业互联

2023-09-28 08:41:19 79

原创 微服务架构改造案例

我们采用禅道项目管理工具统一敏捷研发管理,需求拆分到用户故事点实现端到端管理,形成产品-微服务两级的产品架构和版本管理体系,实现和持续集成和版本发布过程集成。我们首先进行粗颗粒度的模块拆分和集成分析,在分析完成后储备可以明确的识别出类似报账,资金,发票,电子凭证,影像,预算,ERP。平台的集成,即最终的编译构建完成的内容形成镜像并放到镜像仓库,后续部署,环境迁移,资源扩展基于镜像仓库进行快速的拷贝和复制。架构很难进行更好的多团队分工,同时在异地协同过程中对于开发,测试,前方实施经常出现大量的无效沟通情况。

2023-09-26 13:49:33 408

原创 企业架构相关

数据架构的作用首先是找到所有的业务对象 和数据对象。在数据对象分析里面有一个重点就是主数据识别和分析。

2023-09-26 13:40:54 67

转载 Redis源码剖析——线程模型

这也是我们常说 Redis 是单线程的原因。但是,的,Redis 在启动的时候,是这些任务需要创建单独的线程来处理,因为这些任务的操作都是很耗时的,如果把这些任务都放在主线程来处理,那么 Redis 主线程就很容易发生阻塞,这样就无法处理后续的请求了。后台线程相当于一个消费者,生产者把耗时任务丢到任务队列中,消费者不停轮询这个队列,拿出任务就去执行对应的方法即可。

2023-09-08 17:30:31 57

转载 深度解析Redis线程模型设计原理

当Redis服务器准备好给客户端的响应数据后,会将socket的AE_WRITABLE事件和命令回复处理器关联,当客户端准备好读取响应数据时,会在socket产生一个AE_WRITABLE事件,由对应命令回复处理器处理,即将准备好的响应数据写入socket,供客户端读取。连接Redis,对连接服务器的各个客户端进行应答,就需要将socket映射到连接应答处理器写数据到Redis,接收客户端传来的命令请求,就需要映射到命令请求处理器从Redis读数据,向客户端返回命令的执行结果,就需要映射到命令回复处理器。

2023-09-08 16:12:31 45

转载 CentOS7安装VMware Tools——超详细

1.菜单栏安装VMware Tools:点击VMware菜单栏【虚拟机】,选择【安装VMware Tools】;如果安装了早期版本的VMware Tools,则菜单项为[更新VMware Tools]。

2023-08-11 12:55:44 2768

转载 容器中的1号进程

因为你的启动命令是shell包裹的,所以bash是1号进程,它无法转发终止信号给业务进程,所以容器内的业务进程需要等待超时时间结束之后才会被强行停止(与你「进程立刻结束」的期望不符),所以导致想下线的服务迟迟无法从注册中心下线。Linux系统中,PID为1的进程扮演了十分重要的角色,在容器兴起后,因为其秉承的原则是「one process per container」或「one thing per container」,这个时候谁来当容器内的1号进程就是一个需要回答的问题。其中方案1是最好的。

2023-08-09 09:54:31 186

转载 使用exec模式与shell模式,执行ENTRYPOINT和CMD的区别

RUN执行命令并创建新的镜像层,RUN经常用于安装软件包。例如 在 Alpine Linux 的 Docker 镜像中安装 curlCMD设置容器启动后默认执行的命令及其参数,但CMD能够被docker run后面跟的命令行参数替换。ENTRYPOINT配置容器启动时运行的命令,不能被默认参数替换。看似两个命令几乎是重复的指令。实则用户可以通过命令行参数的方式覆盖 CMD 指令提供的默认命令;使用 ENTRYPOINT 指令,命令行上添加的参数会被追加到了 curl 命令的参数列表中。

2023-08-09 09:39:11 556

原创 Mysql中的Buffer pool

1、回顾一下Buffer Pool是个什么东西?数据库中的Buffer Pool是个什么东西?其实他是一个非常关键的组件,数据库中的数据实际上最终都是要存放在磁盘文件上的,如下图所示。但是我们在对数据库执行增删改操作的时候,不可能直接更新磁盘上的数据的,因为如果你对磁盘进行随机读写操作,那速度是相当的慢,随便一个大磁盘文件的随机读写操作,可能都要几百毫秒。如果要是那么搞的话,可能你的数据库每秒也就只能处理几百个请求了!

2023-06-09 12:06:22 679

转载 Redis主节点的Key已过期,但从节点依然读到过期数据是为什么?怎么解决?

如果超过我们设置的阈值,则通知客户端断开从库的连接,全部访问主库,一定程度上减少数据不一致情况。跟 Redis 的版本有关系,Redis 3.2 之前版本,读从库并不会判断数据是否过期,所以有可能返回过期数据。我们知道,大部分的业务场景都是读多写少,为了利用好这个特性,提升Redis集群系统的吞吐能力,通常会采用。升级Redis的版本,至少要3.2 以上版本,读从库,如果数据已经过期,则会过滤并返回空值。,Redis会随机挑选一定数量的Key,检查是否过期,并将过期的数据删除。

2023-06-08 09:13:48 254

原创 Eureka - 生产配置最佳实践

【代码】Eureka - 生产配置最佳实践。

2023-05-26 19:27:51 202

转载 rsa公钥和私钥到底哪个才是用来加密,哪个用来解密?

私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。公钥和私钥都可以用于加解密操作,用公钥加密的数据只能由对应的私钥解密,反之亦然。若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。公钥与私钥是成对出现的;

2023-05-25 17:25:45 1331

转载 LVS/Nginx/HAProxy原理及应用场景介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占用内存少、并发能力强,加上丰富的插件功能模块,当前是云端Web类应用中首选的一款软件。HAProxy是一个使用C语言编写的自由及开放源代码软件,是一款主要作用在七层HTTP和四层TCP上的负载均衡软件。和LVS一样,主要是一个专业级的负载均衡。

2023-05-18 20:45:10 1185

原创 Hadoop入门

Hadoop入门(一篇就够了)_51CTO博客_hadoop菜鸟入门

2023-05-18 20:12:17 172

转载 ELK + Filebeat + Kafka 分布式日志管理平台搭建

在部署的过程中可能会遇到各种情况,此时根据日志说明都可以百度处理(如部署的过程中不能分配内存的问题)。如果完成后如果数据显示不了,可以先到根据工作流程到各个节点查询数据是否存储和传输成功。如查询filebeat是否成功把数据传输到了kafka,可以进入kafka容器当中使用kafka中如下命令查询:查看日志filebeat中的数据是否正常在kafka中存储。该平台的搭建是比较简便的方式,大家可以更加灵活以及动态的配置该平台。

2023-05-18 20:10:43 334

转载 Spring MVC源码解析:各种类型Handler的执行

能就执行,否则就尝试下一个。当返回的ModelAndView为null时,就不会进行视图解析的部分,因为要返回的报文在之前已经处理好了,比如当方法上加了@ResponseBody时,返回的ModelAndView就为null。当返回的ModelAndView为null时,就不会进行视图解析的部分,因为要返回的报文在之前已经处理好了,比如当方法上加了@ResponseBody时,返回的ModelAndView就为null。添加默认实现的时候还会把用户自定义的实现也添加进去。其他组件也都是类似的套路。

2023-05-16 16:05:29 208

转载 原码、反码、补码 详解!

一. 机器数和机器数的真值在学习原码,反码和补码之前, 需要先了解机器数和真值的概念。1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3 ,就是 100 00011。那么,这里的 0000 0011 和 1000 0011 就是机器数。2、机器数的真值因为第一位是符号位,所以机器数的形式值就不等于真正的数值。

2023-05-10 18:55:14 18839 9

全文检索详细设计文档.docx

基于elasticSearch做的全文检索,这是详细设计文档。包括结构化数据的检索,非结构化数据(文档类,如word,pdf等)检索。结构化数据,基于logstash导入。非结构化(文档),可以通过接口,本地扫描/远程扫描进入ES。

2020-03-17

JAVA核心知识点整理.rar

JAVA核心知识点整理,针对java体系的一个核心知识点的总结,比较详细和有深度,可以提高和完善自己的能力,对求职面试也有很大的帮助。

2020-01-03

java记事本程序源码

这是一套用java语言开发的记事本程序源码,功能很完善,没有bug。

2011-01-13

hibernate学习笔记

很全比较深的hibernate学习及参考资料 里边是中文繁体的 有些用语比较难懂 但很经典 【Word版】

2009-07-07

空空如也

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

TA关注的人

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