自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(44)
  • 资源 (12)
  • 收藏
  • 关注

原创 深入理解分布式技术 - RocketMQ解析

文章目录概述RocketMQ组成典型应用Binlog 分发事务消息实现分布式一致性概述消息队列的应用场景有很多,不同消息队列由于在实现上有着细微的差别,所以有着各自适合的应用场景。当我们在进行业务开发的时候,还是需要了解一下消息队列背后的设计思想,以及其基本的特性,这样才能对消息队列进行合理的选型。RocketMQ组成RocketMQ 在阿里巴巴被大规模应用,其前身是淘宝的 MetaQ,后来改名为 RocketMQ,并加入了 Apache 基金会。RocketMQ 基于高可用分布式集群技术

2021-02-27 05:42:36 13789 10

原创 深入理解分布式技术 - Kafka 高性能原理剖析

文章目录概述磁盘顺序读写批量操作优化Sendfile 零拷贝MMAP 技术小结概述Kafka 所实现的高性能不需要太高配置的机器,它使用普通服务器就能实现 TB 级别的传输性能。这一点也是 Kafka 对外宣传的一个特性,也正是因为这一点,Kafka 被广泛运用于大数据处理、流式计算、各类日志监控等需要处理海量数据的场景。为什么呢?磁盘顺序读写Kafka 消息是存储在磁盘上的,众所周知,普通的机械磁盘读取是比较慢的,那 Kafka 文件在磁盘上,如何实现高性能的读写呢?Kafka 对磁盘

2021-02-24 22:48:41 12141

原创 深入理解分布式技术 - 构建高可用的消息队列

文章目录概述概述一般来说,分布式系统的高可用依赖副本技术,副本的引入,使得分布式系统可以更好地进行扩展,当出现某个节点宕机时,由于副本的存在,也能够快速地进行替换,提升系统整体可靠性,防止数据丢失。可以根据对分布式系统的了解,围绕副本、集群、一致性等展开讨论。消息队列在系统中承担了数据存储和数据传输的两种功能,所以消息队列的高可用设计,也比数据库、文件索引等持久性存储要复杂。我们今天围绕Kafka开看下它是如何实现高可用的...

2021-02-24 22:16:01 11798

原创 深入理解分布式技术 - 消息幂等性如何保障不重复消费

文章目录概述如何理解幂等各类中间件对幂等性的处理远程服务调用的幂等问题消息消费中的重试问题消息投递的几种语义At most onceAt least onceExactly once业务上如何处理幂天然幂等不需要额外设计利用数据库进行去重设置全局唯一消息 ID 或者任务 ID不同消息队列支持的投递方式【RocketMQ】【Kafka】小结概述应用的幂等是在分布式系统设计时必须要考虑的一个方面,如果对幂等没有额外的考虑,那么在消息失败重新投递,或者远程服务重试时,可能会出现许多莫名其妙的问题。那今天

2021-02-24 00:05:52 12446

原创 Apache Kafka-max.poll.interval.ms参数含义说明

文章目录官方说明官方说明https://kafka.apache.org/documentation/选择对应的版本,我这里选的是 2.4.Xhttps://kafka.apache.org/24/documentation.html选择https://kafka.apache.org/24/documentation.html#consumerconfigs查找 max.poll.interval.ms让我们来品一品官方的解读...

2021-02-23 00:40:43 14232

原创 Apache Kafka-auto.offset.reset参数(earliest、latest、none)含义说明

文章目录官方说明参数解读官方说明https://kafka.apache.org/documentation/选择对应的版本,我这里选的是 2.4.Xhttps://kafka.apache.org/24/documentation.html选择https://kafka.apache.org/24/documentation.html#consumerconfigs查找 auto.offset.reset参数解读...

2021-02-23 00:30:15 14630 1

原创 深入理解分布式技术 - 顺序消费如何才能保证时序性

文章目录概述概述在分布式系统中,很多业务场景都需要考虑消息投递的时序 ,举个例子 电商中的订单状态流转、数据库的 binlog 分发等都会对业务的有序性有要求。在分布式场景下,消息的有序性是很难保证的,为什么这么说呢? 我们来拆解一下其中的点分布式的时钟问题有序性可以分为业务上的有序和时间上的有序,先看一下时钟上的有序.在分布式环境下,消息的生产者、消费者和队列存储,可能分布在不同的机器上,不同的机器使用各自的本地时钟,由于服务器存在时钟偏斜等问题,本地时间会出现不一致,所以不能

2021-02-22 18:06:45 12040

原创 深入理解分布式技术 - 结合RocketMQ和Kafka理解MQ的两种经典模式_P2P模式和发布订阅模式

文章目录

2021-02-21 10:45:19 12059 4

原创 Apache Kafka-事务消息的支持与实现(本地事务)

文章目录概述官方示例CodePOM依赖配置文件生产者消费者单元测试测试结果源码地址概述Kafka的事务不同于Rocketmq,Rocketmq是保障本地事务(比如数据库)与mq消息发送的事务一致性,Kafka的事务主要是保障一次发送多条消息的事务一致性(要么同时成功要么同时失败)。一般在kafka的流式计算场景用得多一点,比如,kafka需要对一个topic里的消息做不同的流式计算处理,处理完分别发到不同的topic里,这些topic分别被不同的下游系统消费(比如hbase,redis,es等)

2021-02-20 08:35:27 12999

原创 深入理解分布式技术 - 消息队列使用场景

文章目录概述What's MQ ?应用场景概述分布式系统不同模块之间的通信,除了远程服务调用以外, 还有一种比较重要的手段 那就是通过消息队列。我们来探讨下常见的MQ的问题吧What’s MQ ?消息队列,顾名思义,就是传递消息的队列 . 随着分布式系统的发展,消息队列在系统设计中又有了更多的应用。参与消息传递的双方称为生产者和消费者,生产者和消费者可以只有一个实例,也可以集群部署,典型架构如下图所示:消息体是参与生产和消费两方传递的数据,消息格式既可以是简单的字符串,也可以是序

2021-02-19 23:00:01 12141 2

原创 Apache Kafka-AckMode最佳实践

文章目录概述AckMode源码解读概述Apache Kafka-消息丢失分析 及 ACK机制探究AckMode源码解读我们来看下 Spring Kafka封装的ACKContainerProperties#AckMode /** * The offset commit behavior enumeration. */ public enum AckMode { /** * Commit after each record is processed by the li

2021-02-19 17:23:41 13127

原创 Apache Kafka-消息丢失分析 及 ACK机制探究

(1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。(2)acks=1: 至少要等待leader已经成功将数据写入本地log,但是不需要等待所有follower是否成功写入。就可以继续发送下一条消

2021-02-19 14:43:10 12569

原创 Apache Kafka-消费端_顺序消费的实现

文章目录概述CodePOM依赖配置文件生产者消费者单元测试测试结果源码地址概述一个partition同一个时刻在一个consumer group中只能有一个consumer instance在消费,从而保证消费顺序。consumer group中的consumer instance的数量不能比一个Topic中的partition的数量多,否则,多出来的consumer消费不到消息。Kafka只在partition的范围内保证消息消费的局部顺序性,不能在同一个topic中的多个partition中

2021-02-18 23:29:41 12183

原创 Apache Kafka-通过concurrency实现并发消费

文章目录概述CodePOM依赖配置文件生产者消费者单元测试测速结果源码地址概述我们要发送的CodePOM依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> &l

2021-02-18 21:46:04 16617 5

原创 Apache Kafka-消费端消费重试和死信队列

文章目录概述CodePOM依赖配置文件配置类生产者消费者单元测试测速结果源码地址概述Spring-Kafka 提供消费重试的机制。当消息消费失败的时候,Spring-Kafka 会通过消费重试机制,重新投递该消息给 Consumer ,让 Consumer 重新消费消息 。默认情况下,Spring-Kafka 达到配置的重试次数时,【每条消息的失败重试时间,由配置的时间隔决定】Consumer 如果依然消费失败 ,那么该消息就会进入到死信队列。Spring-Kafka 封装了消费重试和死信队列,

2021-02-18 16:34:31 17287 10

原创 Apache Kafka-通过设置Consumer Group实现广播模式

文章目录概述CodePOM依赖配置文件生产者消费者单元测试测速结果源码地址概述传统的消息传递模式有2种:队列( queue) 和(publish-subscribe)queue模式:多个consumer从服务器中读取数据,消息只会到达一个consumerpublish-subscribe模式:消息会被广播给所有的consumerKafka基于这2种模式提供了一种consumer的抽象概念: consumer groupqueue模式:所有的consumer都位于同一个consumer

2021-02-18 13:26:49 17681 3

原创 Apache Kafka-消费端_批量消费消息的核心参数及功能实现

文章目录概述参数设置CodePOM依赖配置文件生产者消费者单元测试测速结果概述kafka提供了一些参数可以用于设置在消费端,用于提高消费的速度。参数设置https://kafka.apache.org/24/documentation.html#consumerconfigs支持的属性 见源码 KafkaProperties#Consumerspring.kafka.listener.type 默认Singlespring.kafka.consumer.max-poll-rec

2021-02-18 12:19:37 12574

原创 Apache Kafka-生产者_批量发送消息的核心参数及功能实现

文章目录概述参数设置概述kafka中有个 micro batch 的概念 ,为了提高Producer 发送的性能。不同于RocketMQ 提供了一个可以批量发送多条消息的 API 。 Kafka 的做法是:提供了一个 RecordAccumulator 消息收集器,将发送给相同 Topic 的相同 Partition 分区的消息们,缓冲一下,当满足条件时候,一次性批量将缓冲的消息提交给 Kafka Broker 。参数设置https://kafka.apache.org/24/documen

2021-02-18 10:23:59 13833

原创 Apache Kafka-SpringBoot整合Kafka发送复杂对象

文章目录Spring Kafka概述CodeSpring Kafka概述Spring提供了 Spring-Kafka 项目来操作 Kafka。https://spring.io/projects/spring-kafkaCode我们先对 Kafka-Spring 做个快速入门,实现 Producer发送消息 ,同时Consumer 消费消息。为了方便测试验证 ,我们把生产者和消费者都写到一个工程里面。...

2021-02-17 23:32:53 14536

原创 Apache Kafka-生产消费基础篇

文章目录POM 依赖生产者消费者POM 依赖版本请同使用的kafka服务端的版本保持一致 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.1</version> </dependency>生产者请小伙伴注意一下注释,这里就

2021-02-17 20:30:31 11749 3

原创 Apache Kafka-CMAK(kafka manager)安装部署使用

文章目录Github地址二进制安装包下载3.0.0.2 及之后3.0.0.2 之前Github地址https://github.com/yahoo/CMAK详见README.md因为误用了 Apache 的商标,kafka manager改名为“CMAK”,意为 (Cluster Manager for Apache Kafka)参考: https://github.com/yahoo/CMAK/issues/713二进制安装包下载Kafka Manager 在 3.0.0.2 之前

2021-02-17 16:57:05 12386

原创 Redis - RedisTemplate及4种序列化方式深入解读

文章目录概述RedisTemplateStringRedisTemplateRedisSerializer 序列化概述使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 。RedisTemplate看看4个序列化相关的属性 ,主要是 用于 KEY 和 VALUE 的序列化 。 举个例子,比如说我们经常会将POJO 对象存储到 Redis 中,一般情况下会使用 JSON

2021-02-16 22:24:24 16696

原创 Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson

文章目录官网Jedis VS LettuceCodePOM依赖配置文件官网https://spring.io/projects/spring-data-redis我们知道常用的Redis客户端 https://redis.io/clients#java怎么还有 Spring Data Redis ?莫慌,小兄弟, 来看个关系图 帮你捋一捋Jedis VS Lettuce在 spring-boot-starter-data-redis 项目 2.X 版本中 ,默认使用 Lettuc

2021-02-16 20:49:40 12670 2

原创 Spring Session - 源码解读

文章目录Spring Session 原理Spring Session 原理Spring Session 主要是利用过滤器,偷梁换柱,实现session储存无感知的切换。页面请求被全局的过滤器org.springframework.web.filter.DelegatingFilterProxy过滤Spring Session 提供了 SessionRepositoryFilter 过滤器,它会过滤请求时,将请求 HttpServletRequest 对象包装成 SessionRep

2021-02-16 17:14:49 13054 2

原创 Spring Session - 使用Spring Session从零到一构建分布式session

文章目录快速入门 Spring Session + RedisSpring Session 原理快速入门 Spring Session + RedisSpring Session 原理Spring Session 主要是利用过滤器,偷梁换柱,实现session储存无感知的切换。Spring Session 提供了 SessionRepositoryFilter 过滤器,它会过滤请求时,将请求 HttpServletRequest 对象包装成 SessionRepositoryReq

2021-02-15 23:59:17 12117 2

原创 Spring Session - Cookie VS Session VS Token 以及 Session不一致问题的N种解决方案

文章目录Cookie VS Session VS TokenSpring Session 概述Cookie VS Session VS Token众所周知 HTTP请求是无状态的, 随着交互式Web应用的兴起,要管理会话,必须记住哪些人登录了系统, 就想着颁发一个会话标识(session id), 实际上呢就是一个随机字符串,每个人收到的都不一样 。这样每次向系统发起HTTP请求的时候,把这个字符串给一并捎过来, 这样服务端就可以很好地区分了。随着用户数据量的激增 , 每个人只需要保存自己

2021-02-15 21:50:15 12945 9

原创 OS - 计算机组成原理及CPU主频揭秘

文章目录大纲视图计算机的基本组成计算机的指令和计算计算机性能指标大纲视图我们把整个计算机组成原理的知识点拆分成了四大部分,分别是计算机的基本组成、计算机的指令和计算、处理器设计,以及存储器和I/O设备。计算机的基本组成运算器、控制器、存储器、输入设备和输出设备这五大基本组件 . 除此之外,你还需要了解计算机的两个核心指标:性能和功耗 。计算机的指令和计算一条条指令执行的控制过程,就是由计算机五大组件之一的 控制器来控制的。实现这些运算功能的ALU(Arithmetic LogicUn

2021-02-14 13:08:48 12574

原创 Java - 探究前后分离带来的跨域问题

文章目录为什么会产生跨域问题同源策略为什么会产生跨域问题1995年,Netscape 公司出于安全的考虑在浏览器中引入了“同源策略”。同源策略浏览器端对请求的处理中,如果两个 URL 的协议、域名和端口都相同,我们就称这两个URL 同源我们来举几个例子同源 http://www.xxxx.com/index http://www.xxxx.com/module/path1非同源 http://www.xxxx.com/index https://www.xxxx.com/mo

2021-02-12 14:40:10 13564 1

原创 深入理解分布式技术 - ServiceMesh 服务网格

文章目录概述Sidecar 设计模式Service Mesh 服务网格What's Service Mesh ?Service Mesh特点Service Mesh VS API 网关Service Mesh 解决方案IstioLinkerd概述微服务的部署架构中有一个SideCar边车模式,并且基于边车模式,扩展出了 Service Mesh 服务网格的概念。 我们一起来探讨下 Service Mesh 相关的知识。Sidecar 设计模式在了解服务网格之前,先来看一个微服务的设计模式——

2021-02-11 21:57:54 12439

原创 深入理解分布式技术 - 容器化技术

文章目录概述虚拟化技术容器化技术概述随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。虚拟化技术虚拟化技术通过 Hypervisor 实现虚拟机与底层硬件的解耦,虚拟机实现依赖 Hypervisor 层,Hypervisor 是整个虚拟机的核心所在。Hypervisor 也叫作虚拟机监视器 VMM

2021-02-11 21:04:46 11995 4

原创 深入理解分布式技术 - Dubbo vs Spring Cloud

文章目录概Dubbo总体架构应用特性Spring Cloud总体架构应用特性Dubbo vs Spring Cloud功能对比调用方式服务发现开发成本概提到微服务开源框架,不可不说的是 Dubbo 和 Spring Cloud,这两大框架应该是大家最熟悉的微服务解决方案 .DubboDubbo 是阿里开源的一个分布式服务框架,目的是支持高性能的远程服务调用,并且进行相关的服务治理。总体架构包括了下面几个角色:Provider,也就是服务提供者,通过 Container 容器来承载;C

2021-02-11 16:09:46 11497

原创 深入理解分布式技术 - 配置中心

文章目录WhyCaseHow分布式配置管理的特性要求选型DiamondDisconfApollo小结Why随着业务的发展,应用系统中的配置会越来越多,配置之间也有不同的业务特点,比如业务依赖的数据库配置、缓存信息配置、索引存储配置等。这类配置一般比较稳定,不会频繁更改,通常会放在工程中作为配置文件随应用一起发布。除了这些配置,还有一部分配置会经常发生修改,比如限流降级开关配置、业务中的白名单配置等。这些配置项除了变更频繁,还要求实时性,如果采取和应用一起发布的方式,那么每次变更都要重新发布服务,非常

2021-02-11 15:39:53 11819

原创 深入理解分布式技术 - 分布式调用跟踪

文章目录Why业务场景Why分布式服务拆分以后,系统变得日趋复杂,业务的调用链也越来越长,如何快速定位线上故障,就需要依赖分布式调用跟踪技术.随着分布式服务架构的流行,特别是微服务等设计理念在系统中的应用,系统架构变得越来越分散.可以看到,随着服务的拆分,系统的模块变得越来越多,不同的模块可能由不同的团队维护,一个请求可能会涉及几十个服务的协同处理, 牵扯到多个团队的业务系统。假设现在某次服务调用失败,或者出现请求超时,需要定位具体是哪个服务引起的异常,哪个环节导致的超时,就需要去每个服务里

2021-02-11 15:04:12 13222 4

原创 深入理解分布式技术 - 服务注册与发现背后的逻辑

文章目录QuestionWhyHow典型的服务发现组件ZooKeeperEurekaNacos一致性对比Question在分布式服务中:为什么需要服务注册和发现?常用的服务发现组件有哪些?服务注册和发现对一致性有哪些要求呢?Why分布式系统下微服务架构的一个重要特性就是可以快速上线或下线,从而可以让服务进行水平扩展,以保证服务的可用性。假设有一个服务,随着业务发展,服务器负载越来越高,需要新增服务器。如果没有服务注册与发现,就要把新的服务器地址配置到所有依赖会员模块的服务,并相继重启

2021-02-10 23:04:13 11599

原创 深入理解分布式技术 - 微服务为什么需要API 网关

文章目录概Case网关的优缺点优点缺点微服务网关选型Spring Cloud ZuulSpring Cloud Gateway小结概这里我们来讨论下为什么微服务需要 API 网关 。网关的概念来源于计算机网络,表示不同网络之间的关口。在系统设计中,网关也是一个重要的角色,其中最典型的是各大公司的开放平台,开放平台类网关是企业内部系统对外的统一入口,承担了很多业务,比如内外部数据交互、数据安全、监控统计等功能。在微服务架构中,API 网关的作用和开放平台等传统网关又有一些不同,下面一起来看一下微服

2021-02-10 22:29:38 11780

原创 深入理解分布式技术 - RPC (Remote Procedure Call)

文章目录What's RPCWhat’s RPCRPC(Remote Procedure Call)是一种进程间通信方式. 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC 允许程序调用另一个地址空间的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或者方法,由于不在一个内存空间,则不能直

2021-02-10 21:22:54 12551 4

原创 Elasticsearch-circuit_breaking_exception [parent] Data too large, data for [<http_request>]

文章目录异常信息异常信息{"root_cause":[{"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [2904434582/2.7gb], which is larger than the limit of [2856189952/2.6gb], real usage: [2904434088/2.7gb],new

2021-02-07 14:09:31 14865 1

原创 OS - 计算机基本组成

CPU (Central Processing Unit) 中央处理器 。 简单来说, CPU是一个超级精细的印刷电路版。

2021-02-06 10:07:46 11716 1

原创 OS - MMAP初探

文章目录What's mmapmmap 源码mmap() 的底层原理虚拟内存空间与物理内存空间vm_area_struct 结构对文件的读写What’s mmaphttps://man7.org/linux/man-pages/man2/mmap.2.html简单来说: mmap() 系统调用能够将文件映射到内存空间,然后可以通过读写内存来读写文件mmap 源码 #include <sys/mman.h>void *mmap(void *addr, size_t leng

2021-02-05 01:17:51 11616 3

原创 Java - 从文件压缩聊一聊I/O一二事

文章目录背景问题复现背景有个文件压缩的需求,小伙伴一顿操作猛如虎 , 小文件那是咔咔一顿骚可是突然一个几十兆的文件,跑了100秒还没出来。。。。/** * @author 小工匠 * @version 1.0 * @description: TODO * @date 2021/2/3 16:40 * @mark: show me the code , change the world */public class FileCompress { //要压缩的文件所

2021-02-03 22:56:05 11408

Scalable IO in Java

NIO - Scalable IO in Java

2023-11-10

腾讯万亿级 Elasticsearch 架构实践

腾讯万亿级 Elasticsearch 架构实践

2023-07-24

实时分析引擎&实时分析引擎

实时分析引擎

2023-07-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

空空如也

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

TA关注的人

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