首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
教练我想敲代码
掘友等级
Java开发工程师
Java Mysql
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
高性能应用系统设计-1-概述
应用系统的高性能,类似于如何让一个人一直保持健康,不去找医生。保持健康的方法我们都知道,饮食均衡、按时休息、持续锻炼身体等等,而对于一个应用系统,一般则需要考虑硬件、操作系统(OS)、中间价、程序自身等系列问题。 HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要建…
中间件系列之Kafka-5-可靠消息传输
对于一个分区来说,它的消息是有序的。如果一个生产者向一个分区先写入消息A,然后写入消息B,那么消费者会先读取消息A再读取消息B。 当消息写入所有in-sync状态的副本后,消息才会认为已提交(committed)。这里的写入有可能只是写入到文件系统的缓存,不一定刷新到磁盘。生产…
中间件系列之Kafka-4-消费者
其中,只有group.id是不同的属性,而它也不是严格必须的,这个参数是消费者的消费组。 获取消费数据也很简单,由于生产者产生的数据消费者是不知道的,KafkaConsumer 采用轮询的方式定期去 Kafka Broker 中进行数据的检索,如果有数据就用来消费,如果没有就再…
中间件系列之Kafka-3-生产者
环境的搭建不再赘述,个人练习的话,基于Docker已经很方便了,比如:在Docker环境下部署Kafka,或者你还是喜欢传统的方式,在Windows上搭建Kafka,在Linux安装Kafka。当然,直接看官网说明那是最靠谱的。 每个 kafka broker 都有一个唯一的标…
中间件系列之Kafka-2-设计与实现
我们首先要知道 Kafka 的消息是存在于文件系统之上的。一般情况下大家认为 “磁盘是缓慢的”,对于Kafka采用这样的设计可能持有怀疑态度。实际上,一个好的磁盘结构设计可以使之跟网络速度一样快。比如,如果是针对磁盘的顺序访问,某些情况下它可能比随机的内存访问都要快,甚至可以和…
中间件系列之Kafka-1-基本概念
Kafak的内部数据单元成为消息,类似与数据库的一条记录。对于Kafka而言,消息只是一个字节数组,每个消息都有一个可选的元数据(metadata),称为键值(key)。当消息被写到分区(partition)时,消息的键值可以控制这个分派的过程,例如哈希。 对于每个消息来说,花…
中间件系列之Netty-12-Protocol Buffer序列化
Protocol Buffer(简称ProtoBuf)是google的一个语言中立,平台中立,可扩展的对结构化的数据进行序列化的一种机制,和XML类似,但是比XML更小,更快,更简单。你只用一次性的定义你的数据结构,我们可以使用特殊的生成的代码读/写到不同的数据流中或者不同的语…
中间件系列之Netty-11-分隔符
上一节我们介绍了LineBasedFrameDecoder,其以换行符\n或者\r\n作为依据,遇到\n或者\r\n都认为是一条完整的消息。 而DelimiterBasedFrameDecoder与LineBasedFrameDecoder类似,只不过更加通用,允许我们指定任意…
中间件系列之Netty-10-按行分割协议
LineBasedFrameDecoder 和LineEncoder采用的通信协议非常简单,即按照行进行分割,遇到一个换行符,则认为是一个完整的报文。在发送方,使用LineEncoder为数据添加换行符;在接受方,使用LineBasedFrameDecoder对换行符进行解码。…
中间件系列之Netty-9-变长协议
大多数的协议(私有或者公有),协议头中会携带长度字段,用于标识消息体或者整包消息的长度,例如SMPP、HTTP协议等。由于基于长度解码需求 的通用性,Netty提供了LengthFieldBasedFrameDecoder/LengthFieldPrepender,自动屏蔽TC…
下一页
个人成就
文章被点赞
50
文章被阅读
49,415
掘力值
1,562
关注了
4
关注者
24
收藏集
6
关注标签
3
加入于
2020-04-27