- 博客(12)
- 收藏
- 关注
原创 在终端中使用git
Git global setupgit config --global user.name "你的用户名"git config --global user.email "你的邮箱地址"你在git上已经建立了一个projectgit clone git@code.byted.org:******/codingtest.git //你的git地址cd codingtest//...
2019-07-16 10:27:22 1302
原创 HBase中Put操作过程和可能出现的异常
submit() 调用locateRegion方法 得到对应put操作的region信息 可能出现IOException或者在rpc连接时出现超时错误 出现以上异常会报出相应错误 如果此处出现了异常对应的action不会重试 submitMultiActions 记录locationErrors 在日志中打印,创建AsyncRequestFutureImpl ars ars.sendMu...
2019-06-24 21:05:28 1967
原创 HBase中的Memstore,HFile和KeyValue类
WAL和Memstore的意义WAL是存储在HDFS上的,Memstore是存储在内存中的,HFile又是存储在HDFS上的。 数据是先写入WAL,再被放入Memstore,最后被持久化到HFile中。数据在进入HFile之前已经被存储到HDFS一次了,为什么还需要被放入Memstore?这是因为HDFS上的文件只能创建、追加、删除,但是不能修改。对于一个数据库来说,按顺序地存放数...
2019-05-15 15:48:08 1201
原创 《HBase 不睡觉》HBase的宏观架构
HBase的宏观架构我们将从整体到具体的角色来探索HBase的架构从图中我们可以看出HBase存储数据是基于HDFS的同时也需要借助ZooKeeper对其进行管理其中可以看出一个HBase集群由一个Master和多个RegionServer组成。这里我们需要注意也可以有两个Master来实现HighAvailable角色介绍:Master:负责启动的时候分配Region到具...
2019-05-15 14:32:39 287
原创 消息队列学习(一)
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。 当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。1.消息队列的特性 业务无关:只做消息的分发 FIF...
2019-05-06 15:27:53 209
原创 文件传输和普通传输区别
一般来说,文件都是大的能达到几十M或者几个G,对发送的要求自然提高为了防止在普通的数据传输过程中出现粘包这一现象,我们采用了将大的bytes arry封装到packet中再不断地每次按照一个buffer的大小写入到IoArgs中完成发送,通常我们使用的的buffer可能为256字节的数组,其远不能满足我们对大文件的传输。因在Packet中使用了大的字节数组,同时会占用大量的内存空...
2019-04-15 15:25:14 1043
原创 raft协议问题
简单介绍raft的基础知识角色Raft通过选举Leader并由Leader节点负责管理日志复制来实现多副本的一致性。在Raft中,节点有三种角色:Leader:负责接收客户端的请求,将日志复制到其他节点并告知其他节点何时应用这些日志是安全的 Candidate:用于选举Leader的一种角色 Follower:负责响应来自Leader或者Candidate的请求角色转换如下图...
2019-04-15 11:07:57 986
转载 分布式之数据库和缓存双写一致性方案解析
转载:https://www.cnblogs.com/rjzheng/p/9041659.html分布式之数据库和缓存双写一致性方案解析引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库...
2019-04-14 15:52:26 85
原创 如何解决tcp的粘包
1.需要对字节进行遍历,来判断数据是否非开始或结束标记,消耗比较大2.先读4个字节这四个字节可以描述了body中一共有多少个字节,知道一共有一种多少个字节后直接读取相应的数目一条消息读取完毕,效率高一些,不会出现消息粘包和消息不完整。...
2019-04-12 10:28:04 130
原创 如何创建一个Socket连接
客户端创建一个Socket服务器端创建一个SeverSocket首先客户端使用new socket方法创建一个Socketbind()方法绑定到一个本地的ip和port,这是port要是和其他的不同,表示你已经占用了这个端口,具有独占性connect连接到服务端远程套接字,连接成功,就可进行数据的收发,如果连接失败可能是远程服务器还没有开启1 首先服务端使用new Server...
2019-04-08 16:08:47 15429 2
原创 Linux下Java如何查看死锁
1.首先先编写一个死锁的程序public class Locktest extends Thread { Object o1; Object o2; boolean flag; Locktest(Object o1, Object o2, boolean flag) { this.o1 = o1; this.o2 = o2; ...
2019-03-27 15:05:19 2930 1
转载 Python list 常用方法总结
转载的https://www.cnblogs.com/chendai21/p/8125422.html一,创建列表 只要把逗号分隔的不同的数据项使用方括号([ ])括起来即可 下标(角标,索引)从0开始,最后一个元素的下标可以写-1list = ['1',‘2,‘3’]list = [] 空列表二,添加新的元素list.append() 在list 末尾增加一个元素l...
2018-09-10 16:40:23 13608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人