自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 收藏
  • 关注

原创 argocd 调研

Argo CD 是基于 Kubernetes 的声明式, GitOps 持续交付工具。

2023-02-14 11:11:49 449

原创 leetcode-1041 模拟走法

leetcode-1041 模拟走法

2022-09-04 11:36:40 250

原创 leetcode-994 模拟算法

leetcode-994 模拟算法

2022-09-04 10:15:52 185

原创 2022-1-8-21. Merge Two Sorted Lists

合并2个有序链表/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = ne

2022-01-08 22:54:01 301

原创 2022-1-8-3. Longest Substring Without Repeating Characters

最长无重复字符串class Solution { public int lengthOfLongestSubstring(String s) { if(s==null || s.length()==0) return 0 ; Map<Character,Integer> map = new HashMap<>(); int longest = 0; int tempStart =

2022-01-08 22:32:01 167

原创 2022-1-8-2. Add Two Numbers

链表相加/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next;

2022-01-08 21:58:37 468

原创 2022-1-8-200. Number of Islands

力扣https://leetcode-cn.com/problems/number-of-islands/深度优先搜索class Solution { public int numIslands(char[][] grid) { int result = 0; for(int i = 0;i< grid.length;i++){ for(int j = 0;j<grid[0].length;j++){

2022-01-08 19:35:35 40

原创 2022-1-8-1. Two Sum

leetcode-1

2022-01-08 16:58:31 153

原创 DDD的理解

DDD 领域驱动设计:是一种设计思想,应用到IT技术领域,主要是指导微服务设计和划分的思想.微服务的划分和设计是根据业务和技术两个方面来划分的,DDD之前的微服务划分是偏向于根据技术来划分,DDD更强调根据业务属性来划分微服务.从而达到微服务的高内聚,低耦合,扩展性强的设计目的.微服务划分存在过粗或过细两个极端,过粗的微服务需要进一步划分,过细的微服务划分需要聚敛....

2021-08-01 10:03:46 3567 1

原创 Kafka网络层及Api层结构图

Kafka网络层及Api层结构图,欢迎讨论

2021-07-16 18:31:56 168 2

原创 KafkaConsumer流程图

KafkaConsumer主流程图,欢迎讨论

2021-07-16 17:20:43 112

原创 kafka-producermatadata类图

kafka-producermatadata类图

2021-07-12 18:05:14 59

原创 Kafka生产者主流程图

kafka生产者主流程图,欢迎讨论

2021-07-12 18:00:31 185

原创 kafka消费组管理模块(四)-GroupCoordinator分析

GroupCoordinator负责对接上层KafkaApis的各种handle请求,对下封装了GroupMetadataManager的各个方法重点分析rebalance的两个阶段JoinRequest和SyncRequest一.JoinRequest1.最上层由KafkaApis的handleJoinGroupRequest方法发起case ApiKeys.JOIN_GROUP => handleJoinGroupRequest(request)def handleJoin.

2021-03-17 18:12:23 372

原创 kafka消费组管理模块(三)-__consumer_offsets分析

__consumer_offsets成为位移主题,有以下知识点1.由kafka自己创建,默认50个分区,每个分区3个副本2.例如partition-1的leader为broker 4. isr为 4,6,8 ar为4,6,83.一个group,计算group的hash值,对50取余得出0-49的值,如果是1则这个group的group coordinator在partition-1的leader所在的broker上4.__consumer_offsets保存了组元数据和offset元数.

2021-03-17 16:24:31 1055

原创 kafka消费组管理模块(二)-元数据管理器GroupMetadataManager

组管理器是管理多个GroupMetadata一.核心字段其中最核心的就是groupMetadataCache ,底层就是一个ConcurrentHashMap,消费组名,对应GroupMetadataclass GroupMetadataManager(brokerId: Int, interBrokerProtocolVersion: ApiVersion, config: Offse

2021-03-16 17:44:19 716

原创 kafka消费组管理模块(一)-元数据

kafka服务端消费组管理器的源码位于kafka.coordinator.group包下分为四个部分分析1.元数据 MemberMetadata.scala & GroupMetadata.scala2.元数据管理 GroupMetadataManager.scala3.__consumer_offsets分析4.组管理器 GroupCoordinator第一部分:MemberMetadata.scala & GroupMetadata.scala一.Member

2021-03-16 16:54:34 630

原创 kafka重要配置-影响可用性,性能

一.topic级别的配置 配置项 可选项 默认值 broker参数 说明 cleanup.policy delete,compact delete log.cleanup.policy 日志策略,delete或者compact delete.retention.ms 数字 86400000 (1 day) log.cleaner.delete.retention.ms 日志策略为compact.

2020-12-22 19:38:59 241

原创 kafka核心配置-consumer

fetch.min.bytes--1fetch.max.bytes--52428800 (50 mebibytes)heartbeat.interval.ms--3000 (3 seconds) 和consumer coordinator之间的预跳时间(The value must be set lower thansession.timeout.ms, but typically should be set no higher than 1/3 of that value)max.parti.

2020-12-21 20:42:54 103

原创 kafka核心配置-producer

一.producerbuffer.memory--33554432=32mretries--2147483647:可能导致顺序不对batch.size--16384 字节=16kconnections.max.idle.ms--540000 (9 minutes)delivery.timeout.ms--120000 (2 minutes) 此值应该大于request.timeout.ms+linger.ms,一个消息的最大投递时间request.timeout.ms--30...

2020-12-21 20:23:27 196

原创 kafka核心配置-broker

基础配置listenersdefault.replication.factor--1advertised.listenersauto.create.topics.enablemessage.max.bytesbroker.rackbroker.id.generation.enablenum.partitions--1reserved.broker.max.idsecurity.inter.broker.protocol--PLAINTEXTcreate.topic

2020-12-21 18:40:30 343

原创 kafka-副本机制

kafka通过副本机制保证数据的可靠性一.副本机制的概念如下:1.一个partition有多个副本replication,一般是3个或5个2.每个副本位于不通的broker3.每个副本集合里有一个leader副本,其余的为follower副本,只有leader副本才接受读写请求,follower副本只做同步数据4.所有的副本组成的集合称为AR,所有同步副本成为ISR(In-Sync Replication),所有非同步副本成为OSR,OSR+ISR=AR5.如果leader副本不可用

2020-11-08 19:25:23 162

原创 kafka-client-分区分配

分区再均衡分区再均衡在服务端由GroupCoordinator负责,在客户端由ConsumerCoordinator负责有以下集中情况会触发再均衡1.新消费者加入2.消费者被动下线3.消费者主动下线4.消费组对应的GroupCoordinator节点发生变更5.消费组订阅的主题分区数量发生变化当发生分区再均衡时有以下几个阶段第一阶段 FIND_COORDINATOR第二阶段JOIN_GROUP第三阶段SYNC_GROUP第四阶段HEARTBE...

2020-11-07 20:23:52 326

原创 kafka-client-分区策略

分区分配策略一个消费组内有多个消费者,一个topic有多个patition,所以消费者和partition是多对多的关系,kafka默认有以下三种分区分配策略1.RangeAssignor按照消费者总数和分区总数整除得到一个跨度,然后将分区按照跨度进行平均分配,当订阅多个topic时,每个topic分别计算例如消费者c0,c1topic有2个,分区分别为:t0p0,t0p1,t0p2t1p0,t1p1,t1p2分配过程:(1)分配topic:t0c0: t0p0,t0

2020-11-07 20:22:55 236

原创 kafka-controller

1.kafka中有多个broker,其中一个broker会被选举为controller2.选举的方式是所有broker在zookeeper创建/controller临时节点,创建成功的broker成为controllercontroller的数据如下{"version":1,"brokerid":2,"timestamp":"1604740076796"}同时会创建controller_epoch节点,节点数据是一个整数,记录选举轮次3.controller的职责监听分区相关的变化

2020-11-07 19:03:14 99

原创 kafka-日志格式

kafka的topic-partition文件夹下有多个文件包括 .log .idex .timeindex 这三个核心文件 还包括 .deleted .cleaned .swap 等临时文件 还可能有 .snapshot .txnindex leader-epoch-checkpoint 等文件.log文件是kafka的数据文件

2020-11-06 12:34:44 1033

原创 kafka-分区管理

1.分区优先副本选举当分区的leader分配不均衡时,例如3个broker,0,1,2,有一个topic有3个分区p0,p1,p2,当所有的分区leader都在一个broker上时,就是分区分配不均衡./kafka-preferred-replica-election.sh --zookeeper 127.0.0.1:2181/kafka-plaintext-poc结果太多,不展示可以通过指定topic和分区的方式,对特定topic和分区进行优先副本选举2.分区重分配当有broker

2020-11-06 11:19:43 122

原创 kafka-topic管理

一.概念kafka的topic是一个逻辑概念,一个topic对应多个分区,一个分区对应多个副本,一个副本对应一台broker上的一个文件夹,例如topic为test的第0个分区的一个副本的文件夹名为test-1,每个分区在一个broker上只能有一个副本,所以所有副本的文件夹名是相同的,只是在不同的broker上每个副本的文件夹内有以下文件:00000000000000000974.index //索引文件00000000000000000974.snapshot //快照文件0000..

2020-11-05 20:10:22 2420

原创 消费者代码实例

一.创建配置,最小化配置如下var props = new Properties();props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");//broker地址props.setProperty(ConsumerConfig.GROUP_ID_CONFIG, "group_id_1");//group idprops.setProperty(ConsumerConfig.KEY_DESERIALI

2020-11-05 14:53:33 238

原创 生产者代码示例

一.必须按配置Properties props = new Properties();props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.19092");//kafka broker地址props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");//key序列...

2020-11-05 14:53:01 162

原创 kafka副本同步机制

kafka的复制机制不是完全的同步或异步,完全的同步需要所有的副本成功写入才能返回,会极大地影响性能,完全的异步,只要写入leader副本即可,这样如果leader宕机,会丢消息,kafka采取了独特的ISR机制权衡数据的可靠性和性能.1.日志文件逻辑格式0是日志起始offset,HW是消费者可以拉取到的最大的offset,leo是新写入的下一条offset2.所有的副本组成的集合是AR(Assigned Replicas)3.与Leader保持一定程度同步的副本集合是ISR(In-Sy

2020-11-02 17:39:38 391

原创 kafka-Consumer Group 不消费问题

一.问题现象:go 客户端简单consumer 模式可以消费go客户端consumer group模式不可消费,客户端运行到一下代码卡住<-consumer.ready // consumer一直没有readyfmt.Println("Sarama consumer up and running!...")java客户端不可消费客户端每次poll不到数据,没有日志输出ConsumerRecords<String, String> records = consu

2020-10-22 11:56:55 2224

原创 redis最佳实践-创建及主从同步

Redis创建需要注意的问题

2020-08-04 20:28:00 96

原创 redis cluster-手动扩缩容

redis cluster-手动扩缩容,垂直和水平扩缩容

2020-08-04 20:13:44 249

原创 redis cluster-手动搭建(5.0.8)

redis cluster-手动搭建(5.0.8)

2020-08-04 20:12:28 153

原创 Redis Cluster on K8s性能测试

本测试用于了解Redis Cluster在Kubernetes环境下的性能表现,以及对比Kubernetes环境相比虚机环境的性能差异

2020-08-04 20:10:59 1107

原创 redis-服务端配置文件详解

学习redis首先需要搞清楚配置文件

2020-08-04 19:57:48 514

原创 网络相关概念

网络概念LAN 局域网 local area networkLAN 通过hub和switch联通,属于一个广播域LAN 中所有成员都会收到任意成员发出的广播包MAN 城域网 metropolitan area networkWAN 广域网 wide area network 广域网不等于互联网Ethernet 以太网 是LAN的一种组网技术,取代了其他LAN的组网技术:令牌环,FDDI和ARCNETIEEE 制定了以太网标准 IEEE 802.3,规定了物理层的连线,电子信号和...

2020-07-16 11:13:44 253

原创 SpringCloud源码解读--Eureka注册中心核心源码解读(2)-cache原理

本节讲一下Eureka服务端的缓存机制

2020-02-17 11:35:22 151

原创 SpringCloud源码解读--Eureka注册中心核心源码解读(1)-核心流程

核心类1.InstanceRegistry:注册表2.DiscoverClient:客户端3.Application:注册得应用,InstanceInfo:注册的应用实例4.PeerEurekaNode:每一个注册中心节点5.EurekaBootStrap:服务端启动类...

2020-02-16 20:18:39 420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除