kafka reliable data delivery

kafka保证partition级别的消息有序 kafka支持acks(0,1,all)三种级别 只要有一个replicas存活,已经committed的message就不会丢失。 consumer只能消费已经committed的message。 可靠的系统是需要用高吞吐,低延迟和硬件花费...

2019-04-01 16:06:52

阅读数 12

评论数 0

kafka internals

cluster membership kafka使用zookeeper上的ephemeral node(短暂的节点,每有一个broker会创建一个node)来管理kafka cluster现有的brokers成员列表,通过brokerId来区分,当一个broker短暂的与zookeeper失联,...

2019-03-29 15:41:54

阅读数 7

评论数 0

kafka consumer

consumer group 当一个consumer group的多个consumer订阅了一个topic,则每个consumer会接收属于这个topic的partitions的不同子集,这些所有子集不相交且合集为所有的partitions。若consumer的数量超过partition的数量,...

2019-01-10 15:59:54

阅读数 28

评论数 0

kafka producer

producer发送消息的过程 producerRecord先指定想要写入的topic,或者指定一个key或者partition(若没有指定partition,会根据key来自动选择partition),当发送这个record,producer会先serialize这个record为一个by...

2019-01-08 14:27:01

阅读数 19

评论数 0

k8s configMap

Changing the main process of a container Passing command-line options to the app Setting environment variables exposed to the app Configuring apps...

2018-11-26 10:52:11

阅读数 185

评论数 0

k8s volume

Creating multi-container pods pod里面的每一个container都有他自己的filesystem,都是isolated。因为filesystem都来自于container的image。 每次image有新的file在build time加进来,container...

2018-11-16 15:59:18

阅读数 45

评论数 0

k8s故障排查步骤

When you’re unable to access your pods through the service, you should start by going through the following list:   First, make sure you’re connect...

2018-11-15 17:09:10

阅读数 47

评论数 0

k8s services

services提供一个入口,通过一个ip和port能够访问到一个service后面的一组pods(提供同一个service),且能负载均衡。这样pods可以随时变换,而不需要随时更改ip和port。     service是通过同样的label来分组pods的,创建好RC后变可以通过k...

2018-11-15 17:08:22

阅读数 13

评论数 0

k8sRC&replicaSet

liveness-probe:通常是定时发送一个httpGet请求,最好是代码里面有healthCheck,能检查所有关键模块是否健康。   RC:通过label管理pods,发现少了会通过pod template去创建新的pod   Changing a ReplicationCon...

2018-11-15 11:31:35

阅读数 58

评论数 0

k8s pods

应该把pods视为一个分离的机器,并在上面只运行一个app,kubernetes不能水平扩展单个container,但它能扩展整个pods,所以如果在单个pods上运行前端和后端两个app,扩展到两个pod之后,会有两个前端和后端程序在跑,但一般情况下前端和后端对扩展的要求是不一样的,所以前端和后...

2018-11-09 15:42:26

阅读数 102

评论数 0

k8s知识点

docker创建image是在docker daemon创建的,docker client和daemon可以不在同一个机器上,mac 或者windows的daemon运行在vm上 image的组成如图,每一层叫一个layer,   container中运行的processes有不同的ID...

2018-11-08 16:57:29

阅读数 34

评论数 0

k8s简介

k8s可以把整个datacenter作为一个完整的计算资源来运行apps。 k8s是一个软件系统,它可以允许你在这上面轻松的部署和管理容器应用,它是基于features of linux containers来运行不同的applications而不用去理会任何的应用的internal detai...

2018-11-07 16:28:47

阅读数 25

评论数 0

容器技术

以前的虚拟机技术,可以在一台物理机器上虚拟出多个机器,每个机器有自己的操作系统,所以在每个虚拟机上可以运行自己的程序,但软件技术慢慢发展,一个软件的component变得越来越多也越来越小,虚拟机技术就会使得对于硬件的资源过度浪费,并且加大系统管理员的工作量,所以发展出了容器技术。 容器技术允许...

2018-11-06 16:01:46

阅读数 22

评论数 0

kafka知识点整理

producer 可根据不同的需求决定不同的kafka策略如实时低延迟高可靠或允许一定的丢失和延迟等。 可以实现自己的序列化规则但建议用通用的如json或apache avro。 fire and forget发送方式不关心是否成功到达,有retry机制,但部分数据有可能丢失。 同步发送,...

2018-10-31 17:53:35

阅读数 16

评论数 0

java 流的区别

字符流 Reader和Writer,使用了字节流,读到一个或多个字节(中文对应两个字节,UTF-8码表中是3个字节)时,先查指定编码表,将查到的字符返回,只能处理字符数据只要是处理纯文本的数据,优先考虑使用字符流。 字节流 InPutStream和OutPutStream,读到一个字节就返回一个...

2018-09-03 15:43:12

阅读数 48

评论数 0

java泛型详解

在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型,操作的数据类型被指定为一个参数,这种参数类型可以用在类,接口,方法中,分别为泛型类,泛型接口,泛型方法。泛型只在编译阶段有效,正确检验泛型的结果后,会将泛型的相关信息擦除,并在对象进入和离开方法的边界处添加类型检查和类型转换...

2018-09-03 11:50:33

阅读数 27

评论数 0

serializable介绍

serializable是java提供的一套标准的序列化接口,是个空接口,为对象提供序列化和反序列化操作,只要实现接口即可。 首先serialVersionUID是系统为我们提供辅助我们进行序列化和反序列化过程的,序列化的时候系统会把当前类的serialVersionUID写入序列化的文件中(也...

2018-09-03 11:36:36

阅读数 245

评论数 0

threadlocal详解

threadlocal是线程局部变量,每一个线程独有,是每个线程在本地工作内存中的对主内存中的数据的一个副本拷贝,这样就可以使得多线程并发访问主内存中这个数据在本地内存中的副本。 内部是通过一个threadLocalMap来维护threadLocal变量表(因为一个线程可能有多个threadlo...

2018-08-30 11:39:38

阅读数 28

评论数 0

java锁分类

公平锁/非公平锁 公平锁指多个线程按申请顺序来获取锁。 可重入锁 在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁,即线程可以进入任何一个它已经拥有的锁所同步的代码块。 独享锁/共享锁 独享锁指该锁一次只能被一个线程所持有,共享锁是允许被多个线程所持有。 乐观锁/悲观锁 ...

2018-08-22 19:06:11

阅读数 48

评论数 0

零散知识点整理

ABA问题 GET,PUT,DELETE都是幂等操作,而POST不是,post用于创建,put用于更新     水平扩展是增加机器,垂直扩展是给服务增加cpu,memory等资源。

2018-08-22 18:55:10

阅读数 30

评论数 0

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