![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
shandadadada
这个作者很懒,什么都没留下…
展开
-
kafka源码(9)-consumer
TODO...原创 2020-04-15 11:55:59 · 156 阅读 · 0 评论 -
redis设计与实现-整数集合
1.概述整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。2.整数集合的实现2.1 源码://每个intset结构表示一个整数集合typedef struct intset{ //编码方式 uint32_t encoding; //集合中包含的元素数量 uint32_t length;原创 2020-05-14 23:25:46 · 218 阅读 · 0 评论 -
java并发 - CAS
1. 概述CAS ,Compare And Swap ,即比较并交换。整个 AQS 同步组件、Atomic 原子类操作等等都是基 CAS 实现的,甚至 ConcurrentHashMap 在 JDK 1.8 的版本中,也调整为 CAS +synchronized。2. CAS分析在 CAS 中有三个参数:内存值 V、旧的预期值 A、要更新的值 B ,当且仅当内存值 V 的值等于旧的预期值 A 时,才会将内存值V的值修改为 B ,否则什么都不干Unsafe 是 CAS 的核心类,Java ..原创 2020-05-13 19:02:33 · 84 阅读 · 0 评论 -
java并发 - JUC之Condition
java并发 - JUC之Condition原创 2020-05-13 11:30:03 · 184 阅读 · 0 评论 -
java并发 - JUC之ReentrantLock&ReentrantReadWriteLock
java并发 - JUC之ReentrantLock&ReentrantReadWriteLock原创 2020-05-13 11:29:26 · 97 阅读 · 0 评论 -
java并发 - JUC之AQS
java并发 - JUC之AQS原创 2020-05-13 11:28:27 · 132 阅读 · 0 评论 -
apollo源码(6)-表结构设计
1.主体E-R DiagramApp App信息 AppNamespace App下Namespace的元信息 Cluster 集群信息 Namespace 集群下的namespace Item Namespace的配置,每个Item是一个key, value组合 Release Namespace发布的配置,每个发布包含发布时该Namesp...原创 2020-04-30 18:52:12 · 1052 阅读 · 0 评论 -
apollo源码(5)-portal&admin
1.流程图原创 2020-04-30 18:49:41 · 220 阅读 · 0 评论 -
apollo源码(3)-configservice配置读取接口
1. 概述在上文,我们看到通知变化接口,仅返回通知相关的信息,而不包括配置相关的信息。所以 Config Service 需要提供配置读取的接口1.1 配置读取流程图2. ConfigController类配置 Controller ,仅提供configs/{appId}/{clusterName}/{namespace:.+}接口,提供配置读取的功能2.1...原创 2020-04-30 18:47:37 · 1321 阅读 · 0 评论 -
apollo源码(3)-ConfigService通知配置变化
1. 概述客户端会发起一个Http 请求到 Config Service 的notifications/v2 接口,也就是NotificationControllerV2 。 NotificationControllerV2 不会立即返回结果,而是通过Spring DeferredResult把请求挂起。 如果在 60 秒内没有该客户端关心的配置发布,那么会返回 Http 状态码 ...原创 2020-04-30 18:44:16 · 1214 阅读 · 0 评论 -
apollo源码(2)-client
1.概述Client 通过轮询的方式,从 Config Service 读取配置。Client 的轮询包括两部分:1.RemoteConfigRepository ,定时轮询 Config Service 的配置读取2.RemoteConfigLongPollService ,长轮询 Config Service 的配置变更通知/notifications/v2接口 当有新的...原创 2020-04-30 18:25:41 · 475 阅读 · 0 评论 -
apollo源码(1)-概述
一、简要介绍Apollo(阿波罗)是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。二、主要模块及功能介绍四个核心模块及其主要功能 ConfigService 提供配置获取接口 提供配置推送接口 ...原创 2020-04-30 18:23:16 · 1492 阅读 · 0 评论 -
apollo配置中心源码阅读
1.概述2.client源码3.configservice4.portal&admin5.表结构原创 2020-04-30 18:20:00 · 377 阅读 · 0 评论 -
redis设计与实现
1、问题2、源码解读3、参考文章如何阅读redis源码:http://blog.huangz.me/diary/2014/how-to-read-redis-source-code.html原创 2020-04-22 11:13:00 · 199 阅读 · 0 评论 -
kafka源码阅读
1.kafka源码-broker的基础模块serversocket原创 2020-03-24 15:59:21 · 280 阅读 · 0 评论 -
Kafka源码(6)-副本同步机制及isr列表更新
1. 重要类介绍1.1 kafkaServer代表一个kafka Broker的生命周期。除了所有的必要启动和停止一个kafka node的功能1.2 ReplicaManager管理副本的动作,比如,启动副本为leader或者Follower,停止副本,从leader同步数据等。1.3 ReplicaFetcherManager继承自AbstractFetcherMana...原创 2020-04-13 16:06:39 · 964 阅读 · 0 评论 -
kafka源码(3)-Broker的基础模块ServersSocket
1 SocketServerclass SocketServer(val config: KafkaConfig, val metrics: Metrics, val time: Time, val credentialProvider: CredentialProvider)...原创 2020-03-26 11:16:24 · 307 阅读 · 0 评论 -
kafka源码(2)-启动&内部模块
1.shell脚本启动最终执行的是kafka.Kafkanohup ./kafka-server-start.sh config/server.properties &if [ $# -lt 1 ];then echo "USAGE: $0 [-daemon] server.properties [--override property=value]*" exit 1f...原创 2020-03-24 17:47:27 · 548 阅读 · 0 评论 -
kafka源码(7)-控制管理模块之KafkaController
1. 重要类介绍KafkaControllerKafkaController作为kafka集群的控制者,有且存在一个leader,若干个follower。Leader能够发送具体的指令给follower,具体指令如:RequestKeys.LeaderAndIsrKey,RequestKeys.StopReplicaKey,RequestKeys.UpdateMetadataKey。...原创 2020-04-14 16:56:55 · 379 阅读 · 0 评论 -
kafka源码(5)-文件高性能读写
def append(largestOffset: Long, largestTimestamp: Long, shallowOffsetOfMaxTimestamp: Long, records: MemoryRecords): Unit = { if (records.sizeInBytes &...原创 2020-04-10 10:14:59 · 642 阅读 · 0 评论 -
kafka源码(1)-概述&项目结构
kafka源代码工程目录结构如下图:原创 2020-04-01 16:44:51 · 362 阅读 · 0 评论 -
kafka源码(4)-基础数据结构之request&response&apis
kafka源码-request&response数据结构原创 2020-04-01 12:58:13 · 813 阅读 · 0 评论