- 博客(15)
- 收藏
- 关注
原创 Kafka详解(五):Kafka知识点补充(消费滞后量、为什么Kafka不支持主从读写分离、Kafka重要的集群参数配置、Kafka生产者分区策略)
九、Kafka知识点补充1、消费滞后量(Lag)在没有引入事务的情况下,对于每个分区而言,它的Lag等于HW-ConsumerOffset(当前的消费位移)的值在引入事务的情况下,如果消费者客户端的isolation.level参数配置为read_uncommitted(默认),那么Log的计算方式不受影响;如果这个参数配置为read_committed,那么就要引入LSO来进行计算了...
2019-05-28 08:56:34 2546
原创 Kafka详解(四):Kafka副本剖析、可靠性分析
八、可靠性探究1、副本剖析副本是相对于分区而言的,即副本是特性分区的副本一个分区中包含一个或多个副本,其中一个为leader副本,其余为follower副本,各个副本位于不同的broker节点中。只有leader副本对外提供服务,follower副本只负责数据同步分区中的所有副本统称为AR,而ISR是指与leader副本保持同步状态的副本(包括leader)集合,OSR是指与leader...
2019-05-27 10:34:56 1252 1
原创 Kafka详解(三):服务端与客户端详解(时间轮、延时操作、控制器、分区分配策略、再均衡、事务)
六、深入服务端1、协议设计Kafka自定义了一组基于TCP的二进制协议,只要遵守这组协议的格式,就可以向Kafka发送消息,也可以从中拉取消息。在Kafka2.0.0中,一共包含了43种协议类型,每种协议类型都有对应的请求和响应,它们都遵循特定的协议模式。每种类型的Rquest都包含相同结构的协议请求头和不同结构的协议请求体协议请求头中包含4个域:api_key、api_version、c...
2019-05-25 17:40:31 3420
原创 Kafka详解(二):主题与分区、日志存储(KafkaAdminClient、优先副本的选举、分区重分配、日志清理、页缓存、零拷贝)
四、主题与分区1、主题的管理可以通过kafka-topics.sh脚本来执行创建主题、查看主题信息、修改主题和删除主题等操作,这个脚本位于$KAFKA_HOME/bin/目录下1)、创建主题如果broker端配置参数auto.create.topics.enable设置为true(默认值为true),那么当生产者向一个尚未创建的主题发送消息时,会自动创建一个分区数为num.partitio...
2019-05-23 20:18:31 2646
原创 Kafka详解(一):Kafka基本概念、集群搭建、生产者与消费者
一、初始Kafka1、基本概念一个典型的Kafka体系架构包括若干Producer、若干Broker、若干Consumer以及一个ZooKeeper集群。其中ZooKeeper是Kafka用来负责集群元数据的管理、控制器的选举等操作的。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘中,而Consumer负责从Broker订阅并消费消息Kafka中的消息以主...
2019-05-21 21:52:36 1917
原创 数据库分库分表
一、业务分库业务分库指的是按照业务模块将数据分散到不同的数据库服务器。例如,一个简单的电商网站,包括用户、商品、订单三个业务模块,我们可以将用户数据、商品数据、订单数据分开放到三台不同的数据库服务器上,而不是将所有数据都放在一台数据库服务器上业务分库能够分散存储和访问压力,但也带来了新的问题1)join操作问题业务分库后,原本在同一个数据库中的表分散到不同数据库中,导致无法使用SQL的j...
2019-05-19 19:06:09 466
原创 GitLab安装及基本使用
一、GitLab简介1)、GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。基础功能免费,高级功能收费2)、为什么要使用GitLab基础功能开源,可自行搭建可以进行权限控制,使得代码对部分人可见GitLab使用方便,非常适合企业内部使用二、GitLab安装1)、关闭防火墙启动: systemctl start firew...
2019-05-16 16:25:33 2245
原创 Nexus安装和搭建Maven私服
一、什么是Maven私服?私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当Maven需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载二、安装Nexus1)、安装JDK和Maven参考:https://blog.csdn.net/qq_40378034/article...
2019-05-15 17:35:52 394
原创 RabbitMQ详解(六):RabbitMQ延迟队列插件、消息可靠性保障、消费端幂等性保障、批量消息、顺序消息
九、RabbitMQ扩展1、RabbitMQ延迟队列插件1)、下载插件下载地址:https://www.rabbitmq.com/community-plugins.html选择相应的版本点击下载下载的是.zip的安装包,下载完之后需要手动解压并上传到Linux服务器中2)、安装插件拷贝插件到Docker:[root@localhost plugins]# lsrabbitmq...
2019-05-05 18:44:00 3763
原创 RabbitMQ详解(五):RabbitMQ整合Spring AMQP、SpringBoot、Spring Cloud Stream
八、RabbitMQ整合篇1、RabbitMQ整合Spring AMQP详解1)、RabbitAdminRabbitAdmin类可以很好的操作RabbitMQ,在Spring中直接进行注入即可autoStartup必须要设置为true,否则Spring容器不会加载RabbitAdmin类RabbitAdmin底层实现就是从Spring容器中获取Exchange、Binding、Rout...
2019-05-05 15:34:46 2982
原创 RabbitMQ详解(四):RabbitMQ集群默认模式、使用Docker搭建RabbitMQ集群、镜像队列
七、RabbitMQ集群1、默认模式RabbitMQ集群允许消费者和生产者在RabbitMQ单个节点崩溃的情况下继续运行,它可以通过添加更多的节点来线性地扩展消息通信的吞吐量。当失去一个RabbitMQ节点时,客户端能够重新连接到集群中的任何其他节点并继续生产或者消费RabbitMQ集群不能保证消息的万无一失,即使将消息、队列、交换器等都设置为可持久化,生产端和消费端都正确地使用了确认方式,...
2019-05-03 16:20:37 5075
原创 RabbitMQ详解(三):存储机制、流控
六、RabbitMQ高阶1、存储机制不管是持久化的消息还是非持久化的消息都可以被写入到磁盘。持久化的消息在到达队列时就被写入磁盘,并且如果可以,持久化的消息也会在内存中保存一份备份,这样可以提高一定的性能,当内存吃紧的时候会从内存中清除。非持久化的消息一般只保存在内存中,在内存吃紧的时候会被换入到磁盘中,以节省内存空间。这两种类型的落盘处理都在RabbitMQ的持久层中完成持久层是一个逻辑上...
2019-05-02 20:16:18 2948
原创 SpringBoot整合Swagger2
1、Swagger2简介Swagger2主要是用于生成在线的RESTful API文档,让维护文档和修改代码整合为一体,在修改代码逻辑的同时方便地修改文档说明2、添加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>...
2019-05-02 08:56:31 246
原创 常见问题解决方案:MyBatis篇
1、MyBatis模糊查询 <select id="getArticlePage" resultType="com.hand.cms.dto.ArticleDto"> SELECT a.id,a.title,a.column_id AS columnId,a.ranges,a.author,a.read_times AS readTimes,a.created_...
2019-05-01 21:04:25 522
原创 SpringBoot整合Mybatis-Plus
前言:最近对mybatis-plus这块比较感兴趣,自己用SpringBoot整合了一下mybatis-plus,发现其中还是有很多点需要注意的,下面是整个搭建过程,涉及到mybatis-plus中的全局id设置、自动填充、乐观锁、 逻辑已删除、性能分析插件、分页插件等知识点想要学习具体API的使用可以查看:https://mp.baomidou.com/1、pom.xml添加依赖 ...
2019-05-01 15:39:26 1286 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人