自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka原理解析之-日志管理

一、日志文件结构1、在磁盘的组织形式从上图可以看到segment的文件组成:以 *.log 结尾的日志文件以 *.index 结尾的 offset 索引 文件以 *.timeindex 结尾的 time offset 时间索引 文件2、SEGMENT日志文件达到一定的条件的时候需要进行切分,其对应的索引文件也会进行切分,日志文件满足以下条件之一就会进行切分。当前日志文件的大小超过了 broker 端参数 log.segment.bytes 配置的值,默认值为 1073741824 ,

2020-12-13 18:40:00 652 1

原创 kafka原理解析之-消息格式

kafka经过多个版本的演变,消息格式也在不断的变化改进,本文讨论kafka使用过的各种消息格式,有些格式在最新的版本中已经不用,但我们可以从中学习一些设计思想一、消息格式介绍各版本消息格式及版本变更特性1、V0: Kafka 0.10.0 之前的版本,属性说明:LOG_OVERHEAD : offset + message_size 合在一起,表示 日志头部, 固定为 12 B.MESSAGE : LOG_OVERHEAD + RECORD 一起描述 一条消息。offset : 每条消

2020-12-13 12:01:09 808

原创 kafka原理解析之-消息可靠性保障

本文讨论的是假设存在完美无缺的producer和consumer, 从broker角度保障数据可靠的机制。一、名词介绍ISR(In-sync Replication):所有与leader副本保持一定程度同步的副本(包括Leader),是kafka动态维护的一组同步副本,每当leader挂掉时,在ISR集合中选举出一个follower作为leader提供服务,当ISR中的副本被认为坏掉的时候,会被踢出ISR,当重新跟上leader的消息数据时,重新进入ISR。ISR中的节点必须满足:a、节点必须可以

2020-12-12 22:28:10 322 1

原创 kafka原理解析之-消息交付语义

消息交付语义kafka消息交付语义讨论的是假设存在完美无缺的 broker, producer 和 consumer 因为某些原因,需要重试生产消息或重新消费消息(可能是不同的消费实例)时的情况。Kafka提供了三种消息交付语义,如下。At most once——消息可能会丢失但绝不重传。At least once——消息可以重传但绝不丢失。Exactly once——这正是人们想要的, 每一条消息只被传递一次.本文只讲第三种Exactly once。在0.11.x版本之前,Apache

2020-12-12 21:30:00 380 1

原创 kafka原理解析之-高性能内幕

一、日志持久化设计1. partition的持久化队列结构:数据按先后顺序依次追加在文件末尾,读写操作分开,如下图所示。这种结构有如下优势:所有的操作复杂度都是O(1),读操作不会阻塞写操作,读操作之间也不会互相影响。由于性能和数据大小完全分离开来——服务器现在可以充分利用大量廉价、低转速的1+TBSATA硬盘,通过顺序写的方式追加数据。虽然这些硬盘的寻址性能很差,但他们在大规模读写方面的性能是可以接受的注:使用6个7200rpm、SATA接口、RAID-5的磁盘阵列在JBOD配置下的顺

2020-12-12 17:04:22 264

原创 kafka原理解析之-整体架构

kafka整体架构先上一个整体架构图,如下图。图一:集群整体架构,P代表partition的leader, r代表partition的follower对各个组件说明如下:Broker: Kafka服务器节点就是被称为Broker,Broker主要负责创建并存储Topic,存储Producer所发布的消息,记录消息处理的过程,现是将消息保存到内存中,然后持久化到磁盘。Topic: 就是数据主题,是数据记录发布的地方,可以用来区分业务系统,同一个Topic的消息可以分布在一个或多个B

2020-12-12 14:35:45 148

原创 HA&横向扩容的负载均衡方案(DNS+KEEPALIVED+LVS+VIP)

一、什么是负载均衡:负载均衡:是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求按照某种策略分配到服务器集合的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡解决了大量并发访问服务问题,其目的就是用最少的投资获得接近于大型主机的性能。二、基于DNS负载优点:实现简单、实施容易、成本低、适用于大多数应用缺点:不能诊断后端服务器状态,做到动态剔除无效实例。三、基于四层协

2020-11-28 21:41:30 1285 1

原创 索引的十种数据结构梳理汇总

1,Bloom布隆过滤器是一个 bit 向量或者说 bit 数组,长这样: 如果我们要映射一个值到布隆过滤器中,我们需要使用多个不同的哈希函数生成多个哈希值,并对每个生成的哈希值指向的 bit 位置 1,例如针对值 “wangwu” 和三个不同的哈希函数分别生成了哈希值 1、4、7,则上图转变为:  Ok,我们现在再存一个值 “zhangshan”,如果哈希函数返回 3、4、8 的话,图继续变为:  值得注意的是,4 这个 bit 位由于两个值的哈希函数都返回了这个 bit 位,因此它被覆盖了。

2020-11-28 15:46:51 1968

原创 ElasticSearch简单介绍及原理解析

一、Elasticsearch简单介绍Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。它是面向文档 的,意味着它存储整个对象或文档。Elasticsearch不仅存储文档,而且索引每个文档的内容,使之可以被检索。在 Elasticsearch 中对文档进行索引、检索、排序和过滤,而不是对行列数据,这是 Elasticsearch 能支持复杂全文检索的原因。二、Elasticsearch通信方式所有其他语言可以使用 RESTful A

2020-11-28 13:47:56 444

原创 十、CASSANDRA集群从云主机迁移物理机

背景方案物理机选型测试验证生产实施遇到的问题及解决方案

2020-11-07 15:16:12 487

原创 九、CASSANDRA问题之 - readrepair

现象DEBUG [ReadRepairStage:636754] 2017-05-30 14:49:44,259 ReadCallback.java:234 - Digest mismatch:org.apache.cassandra.service.DigestMismatchException: Mismatch for key DecoratedKey(4329955402556695061, 00080000000000000844000008000001579b425c4000) (343b

2020-11-02 22:53:45 1032

原创 八、CASSANDRA问题之 - 自定义函数超时引起集群不可用

现象及分析1、现象:在主机XX.XX.137.250的DEBUG日志中有如下信息,而集群中的其它主机中并无相关日志:WARN [Native-Transport-Requests-1] 2019-01-05 12:11:25,530 UDFunction.java:436 - User defined function mytestdb.averagefinal:(frozen<tuple<bigint,double>>) -> double ran longer tha

2020-11-01 22:07:35 297

原创 七、CASSANDRA问题之 -CPU消耗过高

现象集群中有一台主机CPU消耗相比其它节点高一倍以上,检查了每个节点的数据流量也基本相同。高CPU: xx.xx.139.48 50%低CPU: xx.xx.137.249 20%原因分析集群经过4个小时的饱和压力测试,压测结束后,主机48的CPU一直维持在50%以上,其它节点都能回到正常的20%左右,因为CPU消耗高,首先要找出消耗CPU的任务,方法如下:1、找出消耗CPU的进程 ps -ef | grep java 2、找出进程中CPU消耗最高的线程,假设进

2020-11-01 21:15:46 1359

原创 六、CASSANDRA数据中心配置修改

修改多数据中心配置1、修改/conf/cassandra-rackdc.properties dc=sz2、修改/conf/jvm.options增加如下配置 -Dcassandra.ignore_dc=true3、修改表空间 ALTER KEYSPACE mytestdb WITH replication = {'class':'NetworkTopologyStrategy','sz':2}; ALTER KEYSPACE system_auth WITH replication = {'

2020-11-01 14:23:04 445

原创 五、CASSANDRA集群节点缩扩容

随着业务发展,经常会遇到cassandra集群的扩容及缩容维护,cassandra提供了非常强大的功能,不停机不影响业务的情况下实现集群的阔缩容能力,具体操作如下:扩容步骤如下: 1、 准备一个新节点:见《cassandra集群安装》 2、 关闭所有节点压缩(可选) nodetool disableautocompaction nodetool stop COMPACTION 迁移完毕之后,再放开压缩功能 no

2020-11-01 14:01:52 1387

原创 四、cassandra用户角色管理

权限分级的角色划分划分三种角色类型:xxopr、xxdata、cassandra,权限依次增大。xxopr: 应用账号,只能进行对表的查询、数据插入、数据删除等DML操作xxdata: 相当于数据OWNER用户,对表空间内的对象拥有增删改查等DDL操作cassandra: 超级用户,用于创建表空间的,DBA权限管理创建用户1、使用超级用户登录cqlsh xx.xx.xx.xx -u cassandra -p cassandra2、修改超级用户cassandra密码alter user

2020-10-31 09:18:32 614

原创 三、cassandra运营监控

三、cassandra运营监控1,启动及验证先在种子节点,然后在其它节点上执行如下命令 a、启动: cassandra -R b、验证: 检查日志: 如果启动过程中没有什么异常的话,那么现在cassandra就已经启动成功了 如果没有报什么奇奇怪怪的ERROR,然后看到Node /x.x.x.x state jump to NORMAL,这样cassandra就算安装成功了。 查看集群状态: nodetool sta

2020-10-29 23:19:29 335

原创 二、cassandra集群性能调优

背景trace数据的存储,日数据条数100亿+、日增1.8T数据量,同时要支持快速查询性能,前端可根据业务数据查询秒出。

2020-10-27 23:40:28 1334

原创 一、cassandra集群安装

要求:5节点cassandra集群、每个节点挂载2T磁盘环境准备:CentOS-6.7-64-EN、jdk1.8、Python2.7.13、cassandra3.11.3jdk1.8安装1、下载安装包jdk-8u73-linux-x64.tar.gz2、jdk安装包拷贝到目录:/usr/local/java3、解压安装包: cd /usr/local/java tar -zxvf jdk-8u73-linux-x64.tar.gz4、配置环境变量 vim /etc/profile

2020-10-26 23:09:45 351

原创 三、金融业企业服务总线链路追踪监控分析平台的建设实践--CASSANDRA存储方案

收拾收拾

2020-11-21 21:57:01 291

原创 二、金融业企业服务总线链路追踪监控分析平台的建设实践--ORACLE存储方案

是是是

2020-11-14 15:44:15 187

原创 一、金融业企业服务总线链路追踪监控分析平台的建设实践--实时统计方案

什么是企业服务总线企业服务总线:一种提供服务之间调用的框架,是粗粒度的服务调用,相对微服务,企业总线更多的体现组织架构的影响,即:总线更多的体现在跨组织之间的服务调用,而微服务更多的是同一组织内部的服务调用。举两个例子说明:1、集团公司下面有多个子公司,子公司A调用子公司B提供的服务就要用到企业服务总线(服务网关,权限统一管控)。2、集团公司下面有多个子公司,子公司A下面的B部门调用C部门提供的服务也会用到企业服务总线(去中心的服务注册发现框架,权限统一管控)为什么需要链路追踪企业服务总线使服务

2020-11-09 23:10:24 362

空空如也

空空如也

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

TA关注的人

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