Java内部类

基础Java支持类中嵌套类,称之为nested class。嵌套的层数没有限制,但实际中一般最多用两层。根据内部类是否有static修饰,分为static nested class和non-static nested class。non-static nested class又被称为inner class。inner class里面又有两个特殊一点的类:local class和anonymo...

Kafka的存储

Kafka的存储层级概念上比较简单,一个topic分为若干partition,一个partition再分为若干segment。下图是一个示例:topic是个逻辑概念,partition和segment则是真实存储数据的:一个partition对应磁盘上面一个目录,一个segment对应partition目录下的一个日志文件,消息数据就是以append-only的方式顺序写入segment文件...

Kafka的扩容和缩容

本文讨论Kafka的扩缩容以及故障后如何“补齐”分区,本文的操作基于Kafka 2.6版本。扩容扩容也就是新增节点,扩容后老的数据不会自动迁移,只有新创建的topic才可能会分配到新增的节点上面。如果我们不需要迁移旧数据,那直接把新的节点启动起来就行了,不需要做额外的操作。但有的时候,新增节点后,我们会将一些老数据迁移到新的节点上,以达到负载均衡的目的,这个时候就需要手动操作了。Kafka提...

Kafka的可靠性

本文讨论一下Kafka广义上的可靠性,所谓广义是从不同的角度、不同维度去观察系统的可靠性,比如从生产者(Producer)的角度看如何保证已经确认的数据一定写入了系统,不会丢失;从消费者(Consumer)的角度,只要数据没有彻底丢失,就可以读取。再比如从服务端(Broker)的角度,如何保证在可用性(Availability)和持久性(Durability)方面做权衡。副本机制分布式系统的...

Kafka的高效

Kafka在大数据领域消息中间件的位置独占鳌头很多年了,很重要的一个原因就是其能很高效的承载海量数据,这里的高效指读写能做到低延迟、高吞吐。要做到高效,不是特别难,有很多MQ以及Redis之类的组件都可以做到;要做到支撑海量数据且有良好的水平扩展性,也有很多组件,但能同时兼顾二者的,的确就不多了。而Kafka能同时兼顾,主要是在设计上花费了很多心思,核心的一些点包括:磁盘的连续读写充分利用操...

ES数据可靠性分析

ES作为全文检索兼存储系统,数据可靠性至关重要,本文讨论ES是如何实现数据可靠性的。ES底层基于Lucene,所以有必要先搞清楚一些相关的概念。refresh && flush && commitLucene中,有flush和commit的概念。所谓flush,就是定期将内存Buffer里面的数据刷新到Directory这样一个抽象的文件存储层,其实就是生成segment。需要注意的是,因为...

博客换新装了——Epimoni

今天给博客换了个新装——Epimoni,一个站在很多巨人肩膀上的Typecho主题。这个名字取自希腊语"επιμονή"(借鉴Kubernetes的取名方式),含义是“坚持不懈,持之以恒”,这也是最近一年我一个很大的感悟。健身、学习、阅读、写作、理财、育儿等很多生活中稀松平常的事情要做好,最难的往往都是长期坚持。也许,人之初,性本躁,所以很难看到长期坚持的力量。有个公式非常形象的展示了坚持的...

被疾病折磨的日子

又是好久没更新博客了,这次除了懒,还要身体的原因...。2020年真的是多灾多难的一年,新冠、洪涝、贸易战,而自己的身体也是接连出现各种毛病,不知道这些是不是提醒自己马上就要步入三十了。也许是今年口罩戴的太多的原因,鼻炎特别严重,而且旷日持久,从二月份一直持续到上周末,差不多半年时间。最严重的时候两个鼻子里外都发炎了,不小心碰一下真的想扇自己两巴掌,太疼了,每天洗脸都要绕着鼻子。最头疼的是要...
站点总览
  • 文章总数:281篇
  • 分类总数:15个
  • 评论总数:449条
  • 运行时间:6年329天
最近评论
Michael翔虽然看似基础,但是深入研究并不简单,赞~PS:最后的「##总结」,语法应该少了个空格啦~
徐小鹏小米手环5的睡眠监测确实不行,
Gordon那写入ES 只能单条写入加routing了? 不能bulk批量加吧? 会影响写入效率么?
Gordon有弊端的吧? 例如以用户ID作为routing 只适合按用户的搜索 没有传用户ID的就无...
多多非常好的文章,学习到了👍
窗外一叶我认为这本书里吹嘘的成分比较多,没有多少干货。移动通信网络(5G6G)和WiFi的界限会越来越...
aa懵逼
yhm流痞
马旭鹏路过
lukez比如ignore_older参数比clean_inactive长..其中逻辑请参考官方文档