入境繁华

不积跬步无以至千里


  • 首页

  • 标签

  • 分类

  • 归档

Druid剖析(2)--数据库连接池实现原理

发表于 2019-07-14 | 分类于 框架源码 | | 阅读次数:
连接是一种昂贵资源,每次创建销毁需要开销。Druid 可以看做一家 数据库连接池的租赁公司,负责租赁连接,出租给需要的用户,用户使用完成就返还给 Druid。用户就不用关心连接池的创建和销毁细节。因为资源有限 Druid 只能维持有限的连接数量。

Druid剖析(1)--初始 druid

发表于 2019-06-16 | 分类于 框架 | | 阅读次数:
数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

Kafka源码解析(7)--存储器的实现原理

发表于 2018-04-22 | 分类于 Kafka源码解析 | | 阅读次数:
kafka的存储基本单位的分区,kafka采用提交日志的方式作为最终的存储形式。类似的框架有Hbase等。为了提高性能,保证写数据的效率,kafka采用的追加方式,而不是直接修改记录。只保留了一份数据,并且还有一个后台压缩操作,将多条记录压成一条...

Kafka源码解析(6)--控制器的实现原理

发表于 2018-04-22 | 分类于 Kafka源码解析 | | 阅读次数:
Kafka集群的一些重要信息都记录在ZK中,比如集群的所有代理节点、主题的所有分区、分区的副本信息(副本集、主副本、同步的副本集)。每个broker都有一个控制器,为了管理整个集群Kafka选利用zk选举模式,为整个集群选举一个“中央控制器”或”主控制器“。中央控制器管理所有节点的信息,并通过向ZK注册各种监听事件来管理整个集群节点、分区的leader的选举、再平衡等问题。外部事件会更新ZK的数据,ZK中的数据一旦发生变化,控制器都要做不同的响应处理...

Kafka源码解析(5)--协调者的实现原理

发表于 2018-04-21 | 分类于 Kafka源码解析 | | 阅读次数:
协调者主要是负责管理和协调一个消费者组的所有消费者,协调者是本身是一个broker节点服务,只是其主要用于为消费者组服务。如管理消费者之间的分区平衡操作、管理消费者的消费进度(消费偏移量)、监控消费者是否宕机、是否需要启动再平衡操作等。

Kafka源码解析(4)--消费者的实现原理

发表于 2018-04-21 | 分类于 Kafka源码解析 | | 阅读次数:
kafka采用了消费组的概念,使得kafka同时具备了发布-订阅模式和队列模式的两者的优点,保证同一个消费组里的一个消息被只能被一个消费者消费,提高吞吐量;另一方面保证了数据的容错性,可以不同消费组可以同时消费同一个消息。保证了一条消息可以被多个消费者消费...

Kafka源码解析(3)--生产者的实现原理

发表于 2018-04-21 | 分类于 Kafka源码解析 | | 阅读次数:
生产者要发送消息,不是直接发送给服务端,而是先在客户端把消息放入到消息队列中,然后由一个消息发送线程从队列中拉取消息,以批量的方式发送消息给服务端。kafka生产者包括几个重要部分:记录收集器、发送线程、选择器、网络连接。

Kafka源码解析(2)--分布式下的高可用性

发表于 2018-04-15 | 分类于 Kafka源码解析 | | 阅读次数:
Kafka具有分布性,使得Kafka具有良好的拓展能力和容错能力、高可用性。为了避免一个或几个broker宕机,其上所有的Partition数据都不可被消费,而导致部分服务不可用。Kafka为每个partition设置多个replication, 均衡分布在集群中的多个broker中。即使一个或几个broker不可工作时,其他broker因为存储partition数据副本,所以整个集群可以正常工作。

Kafka源码解析(1)--概述

发表于 2018-04-14 | 分类于 Kafka源码解析 | | 阅读次数:
Kafka是一个消息队列(MQ), 其具备分布式、高吞吐量、容错性、多副本、流式数据处理、多订阅者的特性。介绍了消息队列、kafka整体设计思路与其他消息队列的对比。

NSQ源码解析(2)-nsqlookup实现原理详解

发表于 2018-02-20 | 分类于 NSQ源码解析 | | 阅读次数:
在使用NSQ的时候,首先需要启动nsqlookup. nsqlookup是管理中心,负责管理拓扑信息。nsqd节点在启动的时候会向nsqlookup进行注册,并且nsqd节点通过nsqlookup广播话题(topic)和通道(channel)信息。消费者通过查询nsqlookupd来发现指定话题(topic)的nsqd,并与nsqd建立连接进行通信和订阅。nsqlookupd类似于kafka中的zookeeper和Spring cloud中的注册中心。本文分析nsqlookupd如何进行管理集群中的拓扑关系,以及nsqlookupd的实现机制。
12…6
入境繁华

入境繁华

不积跬步无以至千里

60 日志
17 分类
19 标签
GitHub weibo zhihu E-Mail
Links
  • 罗道文的博客
  • 陈友兵的博客
  • 施亚的博客
  • 陶然的博客
© 2019 入境繁华
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
0%