摘要:
Go语言基础 Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一个,这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样: 下面列举了 Go 代码中会使用到的 25 个关键字或保留字: break default func int 阅读全文
摘要:
1. 集合集合主要有三种:SequenceMapSetsequence是一种线性元素的集合,可能会是索引或者线性的(链表)。map是包含键值对的集合,就像Java的Map,se... 阅读全文
摘要:
Scala既是一门面向对象(OOP)语言,又是一门函数式编程(FP)语言。作为一门支持函数式编程的语言,Scala鼓励面向表达式编程(EOP)模型。简单来说,EOP中每个语句都... 阅读全文
摘要:
1. 类和属性1.1 如何控制构造函数字段的可见性在Scala中:如果一个字段被声明为var, Scala会为该字段生成getter和setter方法。如果字段是val, Sc... 阅读全文
摘要:
1. val和var的区别val定义的是一个常量,无法改变其内容scala> val s = 0s: Int = 0scala> s = 2:12: error: reassi... 阅读全文
摘要:
开源zk客户端-Curator 创建会话: RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000,3); CuratorFramework client = CuratorFrameworkFactory.newClient("192. 阅读全文
摘要:
1. zookeeper中的一致性协议-ZAB协议 在深入了解ZK之前,相信很多同学都会认为ZK就是Paxos算法的一个实现。但事实上,ZK并没有完全采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,ZooKeeper原子消息广播协议)的协议作为其数 阅读全文
摘要:
这一篇我们不在是探讨kafka的使用,前面几篇基本讲解了工作中的使用方式,基本api的使用还需要更深入的去钻研,多使用才会有提高。今天主要是探讨一下kafka的消息复制以及消息... 阅读全文
摘要:
1.从ACID到CAP 我们知道传统集中式系统中实现ACID是很简单的,在分布式环境中,涉及到不同的节点,节点内的ACID可以控制,那么节点间的ACID如何控制呢?构建一个可用性和一致性的分布系统成为难题,于是出现了CAP和BASE这样的理论。 CAP定理: CAP告诉我们一个分布式系统不可能同时满 阅读全文
摘要:
1. 消费者位置(consumer position)因为kafka服务端不保存消息的状态,所以消费端需要自己去做很多事情。我们每次调用poll()方法他总是返回已经保存在生产... 阅读全文