目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

Kubernetes

该文章已经加密。

ClickHouse

OLTP 全称 OnLine Transaction Processing,联机事务处理系统, 就是对数据的增删改查等操作。存储的是业务数据,来记录某类业务事件的发生,比如下单、支付、注册、等等。 典型代表有Mysql、 Oracle等数据库,对应的网站、系统应用后端数据库 针对事务进行操作,对响应时间要求高,面向前台应用的,应用比较简单,数据量相对较少,是GB级别的。 面向群体:业务人员 OLAP 当数据积累到一定的程度,需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取想要的信息,为公司做决策提供支持,这个就是做OLAP了。 OnLine Analytical Processing,联机分析处理系统,存储的是历史数据,对应的风控平台、BI平台、数据可视化等系统就属于OLAP。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策,并且提供直观易懂的查询结果 典型代表有 Hive、ClickHouse 针对基于查询的分析系统,基础数据来源于生产系统中的操作数据,数据量非常大,常规是TB级别的 面向群体:分析决....

DevOps

六西格玛管理法 六西格玛管理法是一种质量尺度和追求的目标,是一套科学的工具和管理方法,运用 DMAIC(改善)或DFSS(设计)的过程进行流程的设计和改善。是一种经营管理策略。6 Sigma管理是在提高顾客满意程度的同时降低经营成本和周期的过程革新方法,它是通过提高组织核心过程的运行质量,进而提升企业赢利能力的管理方式,也是在新经济环境下企业获得竞争力和持续发展能力的经营策略。 ISO9001 ISO9001不是指一个标准,而是一类标准的统称,是由TC176(TC176指质量管理体系技术委员会)制定的所有国际标准,是ISO12000多个标准中最畅销、最普遍的产品。 ISO9001质量管理体系认证标准是很多国家,特别是发达国家多年来管理理论与管理实践发展的总结,它体现了一种管理哲学和质量管理方法及模式,已被世界上100多个国家和地区采用。 ISO9001国际质量管理体系标准是迄今为止世界上最成熟的一套管理体系和标准,是企业发展和成长之根本。 精益生产 指导思想:用最少的时间和资源消耗,生产出高质量的产品 一种系统性的生产方法,其目标在于减少生产过程中的无益浪费(日语:無駄,M....

K8S

应用部署演进 传统部署时代 早期的时候,在物理服务器上运行应用程序。缺点: 无法限制在物理服务器中运行的应用程序资源使用,会导致资源分配问题,过高或过低 部署多个物理机,维护许多物理服务器的成本很高。 虚拟化部署时代 虚拟化技术允许在单个物理服务器的 CPU 上运行多台虚拟机(VM)。虚拟化能使应用程序在不同 VM 之间被彼此隔离,且能提供一定程度的安全性,能够更好地利用物理服务器的资源,具有更高的可伸缩性,以及降低硬件成本等等的好处。缺点: 需要单独一个系统,占用资源 不能灵活的扩容和缩容 容器部署时代 容器类似于 VM,但是更宽松的隔离特性,使容器之间可以共享操作系统(OS)。容器比起 VM 被认为是更轻量级的,每个容器都具有自己的文件系统、CPU、内存、进程空间等。跨云和操作系统发行版本的可移植性:可在 Ubuntu、CoreOS、CentOS、 Google Kubernetes Engine 和其他任何地方运行。容器化部署存在的问题: 10 个物理机发布 100 个容器,怎么快速发布和管理 用户请求过来,怎么分配请求到 100 个容器里面 突发海量请求过来,....

Flink

批量计算(batch computing) 对一定规模量的数据进行处理,类似搬砖,10个10个的搬。 场景:离线数据统计、报表分析等(过去 1 年 10000 亿条日志,分析日、周、月,接口响应延迟、状态码) 特点:批量计算非实时、高延迟,计算完成后才可以得到结果 框架:Hadoop 的 MapReduce 流式计算(stream computing) 对源源不断的数据流进行处理,类似水龙头出水。 场景:实时监控、实时风控等 特点:流式计算实时、低延迟,实时取最新的结果 框架:Spark(宏观上)、Flink 区分( 离线计算和实时计算 、流式计算和批量计算) 离线计算和实时计算 :是对数据处理的【延迟】不一样(一个实时和非实时) 流式计算和批量计算: 是对数据处理的【方式】不一样(一个流式和一个批量) Stream(JDK8) lombok 依赖 1<dependency> 2 <groupId>org.projectlombok</groupId> 3 <artifactId>lombok</artifactId....

XXL-Job

定时任务 通过时间表达式这一方式来进行任务调度的被称为定时任务。 在平常的业务场景当中,经常有一些场景需要使用到定时任务,比如:在某个时间点会发送优惠券、发送短信等等的一些业务操作。又比如:比如一些支付系统,需要在每天的凌晨1点来进行对前一天的清算。 分类 单机定时任务 单机的容易实现,但应用于集群环境做分布式部署,就会带来重复执行 解决重复执行的方案有很多,比如加锁、数据库等,但是增加了很多非业务逻辑 分布式调度(分布式定时任务) 把需要处理的计划任务放入到统一的平台,实现集群管理调度与分布式部署的定时任务 叫做分布式定时任务 支持集群部署、高可用、并行调度、分片处理等 常见定时任务 单机:Java 自带的 java.util.Timer 类配置比较麻烦,时间延后问题 单机:ScheduledExecutorService 是基于线程池来进行设计的定时任务类,在这里每个调度的任务都会分配到线程池里的一个线程去执行该任务,并发执行,互不影响 单机:SpringBoot 框架自带 SpringBoot 使用注解方式开启定时任务 启动类里面 @EnableSc....

Kafka

为什么要序列化? 序列化:把对象转化为可传输的字节序列过程称为序列化。 反序列化:把字节序列还原为对象的过程称为反序列化。 如果光看定义我想你很难一下子理解序列化的意义,那么我们可以从另一个角度来推导出什么是序列化, 那么究竟序列化的目的是什么? 其实序列化最终的目的是为了对象可以跨平台存储,和进行网络传输。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组。 因为我们单方面的只把对象转成字节数组还不行,因为没有规则的字节数组我们是没办法把对象的本来面目还原回来的,所以我们必须在把对象转成字节数组的时候就制定一种规则(序列化),那么我们从IO流里面读出数据的时候再以这种规则把对象还原回来(反序列化)。 如果我们要把一栋房子从一个地方运输到另一个地方去,序列化就是我把房子拆成一个个的砖块放到车子里,然后留下一张房子原来结构的图纸,反序列化就是我们把房子运输到了目的地以后,根据图纸把一块块砖头还原成房子原来面目的过程。 MQ 使用场景 跨平台 、多语言、分布式事务、最终一致性 RPC调用上下游对接,数据源变动->通知下属 解耦:订单系统....