摘要:
简介 大数据下的数据仓库对数据进行了分层管理,分为ODS、DWD,DWS,ADS层,可以把数仓分层和程序设计中的三层架构进行对比: 相同点: 第N-1层为第N层提供服务,每一层都有单独的职责。 降低复杂度, 减少重复开发,提高复用性 不同点 程序中的分层是为了关注点分离, 而数据的分层更像是一个萃取 阅读全文
摘要:
2018年进入一家互联网公司的大数据部门,在进入部门后,遇到了一些问题,这里记录一下。 简介 先简单介绍一下的背景:公司是一家中小型的互联网电商公司,在2015年基于CDH搭建了大数据系统,大约30台机器(32C+256G),总存储量大约2PB,在进入部门后,需要对集群情况有个梳理,遇到了不少问题: 阅读全文
摘要:
hotkey(https://gitee.com/jd-platform-opensource/hotkey)是京东的一个 热 key 发现系统,他能够感知系统中访问频繁的资源,比如Redis key,接口url等,在发现此类情况后,能够通知到相关的应用,应用可采取一些自定义的措施。 hotkey 阅读全文
摘要:
Netty(https://github.com/netty/netty)提供异步的、事件驱动的网络应用程序框架和工具。通俗的理解就是对Java NIO进行了封装,最终就是一个jar包形式。它解决了网络通信中常见的几个问题,比如粘包和分包问题,心跳问题等,同时也解决了Java NIO中的空轮询Bug 阅读全文
摘要:
dubbo(https://github.com/apache/dubbo)是一个分布式服务框架,提供了RPC调用、容错与负载均衡,服务注册与发现。 启动流程如下: 1. 服务提供者注册服务,将自身的信息(IP,端口,提供的服务)发布到注册中心(zookeeper,nacos,redisd等)。 2 阅读全文
摘要:
seata(https://github.com/seata/seata)是一个分布式事务解决方案,内置了对AT、XA、TCC、saga的支持,主要由TC TM RM三类角色,TC(事务协调器)作为服务端,TM(事务管理器)和RM(资源管理器)工作在客户端。 seata最大程度的保证了对应用的透明。 阅读全文
摘要:
skywalking(https://github.com/apache/skywalking)是一个分布式系统的链路追踪系统,提供应用程序的调用链 追踪,应用程序性能监控。由agent,oap, ui,存储四部分组成,agent提供了无侵入的数据收集,其原理就是使用buddy对指定的类进行了增强, 阅读全文
摘要:
datax(https://github.com/alibaba/DataX)是一个离线的数据同步工具,提供了异构数据源之间的同步。 datax整体项目结构清晰,core提供了核心功能,剩下的都是各种数据源的reader和write。 核心功能就是根据配置信息,抽取源数据,导入到目标数据,中间还有各 阅读全文
摘要:
rocketmq(https://github.com/apache/rocketmq)是一个分布式的消息队列,主要有product, broker,consumer,nameserver组成,提供流量的削峰填谷,异步通知,应用解耦的功能。rocketmq和kafka功能上比较相似,但是在底层架构上 阅读全文
摘要:
Nacos(https://github.com/alibaba/nacos)可以简单理解为一个服务注册中心,提供了服务发现和健康检测,服务配置等功能。Nacos大致流程: 服务端启动,选leader, Nacos实现了一个简单的raft协议,关于raft概念这里就不细说了. Nacos利用raft 阅读全文