2PC,是分布式事务的一种常见实践。分布式事务为什么难?在分布式环境下,每个节点都可以知晓自己操作的成功或者失败,却无法知道其他节点操作的成功或失败。当一个分布式事务跨多个节点时,保持事务的原子性与一致性,是非常困难的。什么是两阶段提交?二...
一、oracle的体系结构 数据库(database):oracle数据库是数据的物理存储。(相当于一大块存所有oracle数据的硬盘区域?)包括(数据文件ORA或DBF、控制文件、联机日志、参数文件)。它和其它数据库概念不一样...
1 命令程序 ① psql命令 psql是一个可执行程序,位于pg安装目录的bin目录下,语法 psql -h localhost -U -d -p 然后就会让你输入密码,登...
好久没更新了,最近半年有些忙碌,更换了新的工作,业务很多,责任也比以往重了许多,这更激发了我对知识的渴求。但好在现在适应了过来,接下来就是继续给自己充电,在未来承担更多的职责。 前文我们已经了解了线程的一些基础知识,这篇文章是对...
Cookie 要理解session,首先要搞清cookie的概念。由于http是无状态的,服务器不能“记住”用户的信息状态,因此若同一个客户端发起的多条请求,服务器不能辨别这些请求来自哪个用户,http无状态的限制为web应用程...
近日常有同学来问我如何阅读代码,关于这个问题的一般性答案我特别提了一个问题并自问自答。出于提供一个实际的例子的考量,正好此前综合地阅读了 Spark 的 RPC 实现、Flink 基于 Akka 的 RPC 实现和 Actor Model ...
前言 Flink用来消费消息队列中的数据,在消费之后一定会需要用某种方式存起来,这里我简述一下在数据持久化中可能会遇到的坑和解决方案。 这篇文章中的代码,都经过本公司业务系统上调试过,是我们在使用Flink开发入库服务的时候踩过...
分布式锁的实现方式有很多,本篇文章讲述一下使用Redis实现分布式锁。网上有很多使用Redis实现分布式锁的代码,但是这些代码或多或少都有问题。这篇文章会写一个实现,同时标明一些注意点。 场景 为了便于阐述,这里假设...
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些...
前面我们对MVC、MVP、MVVM进行了详尽的分析,但还有一个问题悬而未决,那就是生命周期。在Android平台上生命周期具有十分重要的意义,因此这也是架构必须考虑的因素之一。生命周期处理不好很容易发生内存泄漏,但对架构而言,真正困扰我们的...
Hive分区partition详解 Hive分区更方便于数据管理,常见的有时间分区和业务分区。 下面我们来通过实例来理解Hive分区的原理; 一、单分区操作 1.创建分区表 cr...
最近需要用到hive,刚开始用py3去连接,白忙活了2天,居然没有搞定,如果你搞定了,请分析笔记给我哈。我用py2搞定了,下面是步骤: 一、安装 ### 安装PIP ###curl https://bootstrap...
TiDB 在遇到死锁时的行为。 TiKV 如有锁等待逻辑就会造成死锁。 TiDB 目前采用了全局死锁检测的方式,如果发现当前的等锁行为会形成死锁,就会立刻返回给 TiDB 告知死锁异常,通过这种方式直接把死锁拒绝在源头。 为了保...
在过去的一年多时间里,我一直在队伍里推广 Apache Flink。很多朋友大概都知道,一年多以前,我负责的项目还在推 Spark,但如今我却极力推荐大家尝试使用 Flink。公司内外许多朋友开始问我:为什么一年里我的态度转变如此之大,特别...
这些内容都是自己在工作和学习中的一些学习总结,如果大家觉得有帮助,原创不易,希望帮忙点个赞,由于笔者水平有限,也难免有错误,也请大家不吝赐教,同时也欢迎关注我的微信公众号:[大数据技术与应用实战],一起成长。 自定义source...