摘要: 1、Kafka工作流程 Kafka中的消息以Topic进行分类,生产者与消费者都是面向Topic处理数据。 Topic是逻辑上的概念,而Partition是物理上的概念,每个Partition分为多个Segment,每个Segment对应两个文件,一个索引文件,一个日志文件。Producer生产的数 阅读全文
posted @ 2019-12-02 21:31 clawhub 阅读(300) 评论(1) 推荐(0) 编辑
摘要: 1、概述 Kafka是一个分布式的、基于发布订阅的消息系统,主要解决应用解耦、异步消息、流量削峰等问题。 2、发布订阅模型 消息生产者将消息发布到Topic中,同时有多个消息消费者订阅该消息,消费者消费数据之后,并不会清除消息。属于一对多的模式,如图: 3、系统架构 网上找了个不错的架构图: 上图中 阅读全文
posted @ 2019-12-02 21:29 clawhub 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 1、目标 1.1、全局唯一 不能出现重复的ID,全局唯一是最基本的要求。 1.2、趋势有序 业务上分页查询需求,排序需求,如果ID直接有序,则不必建立更多的索引,增加查询条件。 而且Mysql InnoDB存储引擎主键使用聚集索引,主键有序则写入性能更高。 1.3、高可用 ID是一条数据的唯一标识, 阅读全文
posted @ 2019-12-02 21:11 clawhub 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1、TCP协议传输过程 TCP协议是面向流的协议,是流式的,没有业务上的分段,只会根据当前套接字缓冲区的情况进行拆包或者粘包: 发送端的字节流都会先传入缓冲区,再通过网络传入到接收端的缓冲区中,最终由接收端获取。 2、TCP粘包和拆包概念 因为TCP会根据缓冲区的实际情况进行包的划分,在业务上认为, 阅读全文
posted @ 2019-12-02 21:05 clawhub 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 1、Bootstrap与ServerBootstrap bootstrap用于引导Netty的启动,Bootstrap是客户端的引导类,ServerBootstrap是服务端引导类。类继承关系: 2、Future与ChannelFuture Netty中的操作都是异步的,等待完成或者注册监听。如: 阅读全文
posted @ 2019-12-01 22:29 clawhub 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 引言 前面学习了NIO与零拷贝、IO多路复用模型、Reactor主从模型。 服务器基于IO模型管理连接,获取输入数据,又基于线程模型,处理请求。 下面来学习Netty的具体应用。 1、Netty线程模型 Netty线程模型是建立在Reactor主从模式的基础上,主从 Rreactor 多线程模型: 阅读全文
posted @ 2019-12-01 20:15 clawhub 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 引言 不同的线程模型对程序的性能有很大的影响,Netty是建立在Reactor模型的基础上,要搞清Netty的线程模型,需要了解一目前常见线程模型的一些概念。 具体是进程还是线程,是和平台或者编程语言相关,本文为了描述方便,以线程描述。 目前存在的线程模型有: 传统阻塞IO服务模型 Reactor模 阅读全文
posted @ 2019-12-01 20:10 clawhub 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 引言 IO模型就是操作数据输入输出的方式,在Linux系统中有5大IO模型:阻塞式IO模型、非阻塞式IO模型、IO复用模型、信号驱动式IO模型、异步IO模型。 因为学习Netty必不可少的要了解IO多路复用模型,本篇是基础。 名词概念 阻塞:指向调用方,在调用结果返回之前,调用方线程会挂起,直到结果 阅读全文
posted @ 2019-12-01 20:01 clawhub 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 福利概述 分享两类资源: 随机返回高清大图 免费可商用网站 1、自动切换随机返回高清图片 "https://source.unsplash.com/collection/collectionid/1600x900" "https://uploadbeta.com/api/pictures/rando 阅读全文
posted @ 2019-12-01 12:28 clawhub 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 引言 目前我的博客源码是在coding上的,因为有很方便的持续部署,但是coding目前还不提供push文件的开放API。 因为最近做了一个一键分发平台,将博客分发到简书、CSDN等等的平台,但是我的博客主站需要用git提交,我想将博客主站也通过一键分发平台提交, 而且github提供push文件的 阅读全文
posted @ 2019-12-01 11:51 clawhub 阅读(226) 评论(0) 推荐(0) 编辑