- 博客(19)
- 资源 (2)
- 收藏
- 关注
转载 apache kafka系列之在zookeeper中存储结构
http://blog.csdn.net/lizhitao/article/details/237446751.topic注册信息/brokers/topics/[topic] :存储某个topic的partitions所有分配信息Schema:{ "version": "版本编号目前固定为数字1",
2017-10-31 23:38:19 234
转载 Zookeeper在kafka中的应用
1、Broker注册Broker是分布式部署并且相互之间相互独立,但是需要有一个注册系统能够将整个集群中的Broker管理起来,此时就使用到了Zookeeper。在Zookeeper上会有一个专门用来进行Broker服务器列表记录的节点:/brokers/ids每个Broker在启动时,都会到Zookeeper上进行注册,即到/brokers/ids下创建属于自己的节点,如/brokers/
2017-10-31 23:11:15 1684
转载 推荐: Kafka详细原理总结
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于
2017-10-31 16:34:46 7727
转载 使用Redis SETNX 命令实现分布式锁
使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。SETNX命令简介命令格式SETNX key value将 key 的值设为 value,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作。 SETNX 是SET if Not eXists的简写。返回值返回整数,具体为 -
2017-10-30 02:08:39 625
转载 ZooKeeper的Quorums机制
我们知道ZooKeeper集群中必须超过半数节点(Majority)可用,整个集群才能对外可用。这个说法在大多数情况下是正确的。实际上ZooKeeper提供了几种方式来认定整个集群是否可用,Majority只是其中的一种。http://zookeeper.apache.org/doc/r3.3.5/zookeeperInternals.html1. Majority
2017-10-30 01:38:26 3916
原创 为什么不要把ZooKeeper用于服务发现
ZooKeeper是Apache基金会下的一个开源的、高可用的分布式应用协调服务。许多公司都把它用于服务发现。但在云环境中,面对设备及网络故障时的恢复能力是需要重点考虑的问题。因此,将应用部署在云上,就必须要预见到硬件故障、网络延迟以及网络分区等问题,进而构建出恢复能力强的系统。Peter Kelley是个性化教育初创公司Knewton的一名软件工程师。他认为,从根本上讲,把ZooKeeper
2017-10-30 01:28:55 688
原创 为何spring cloud 应该使用 Euraka server 而不是 Zookeeper
ureka是基于AP原则构建的,而ZooKeeper是基于CP原则构建的。这些可以从他们的特性中得到体现。ZK有一个Leader,而且在Leader无法使用的时候通过Paxos(ZAB)算法选举出一个新的Leader。这个Leader的目的就是保证写信息的时候只向这个Leader写入,Leader会同步信息到Followers。这个过程就可以保证数据的一致性。对比下ZK,Eurek
2017-10-30 00:45:28 6092
转载 如何正确理解CAP理论?
原文:http://www.jdon.com/bigdata/how-to-understand-cap.html 在大数据领域,被业界广泛谈及的CAP理论存在着一些关键性的认知误区,而只有全面地考察与分析分布式环境中的各种场景,我们才能真正正确地理解它。 目前,CAP(Consistency一致性、Availability可用性、Partition-toleranc
2017-10-29 23:45:47 295
转载 领域驱动开发(domain driven development)
链接:https://www.zhihu.com/question/56332619/answer/250971065什么是领域驱动开发将问题抽象为一个领域解决方案。并针对此领域(即抽象)进行开发的方式。领域驱动开发解决了什么问题解决两个问题1,变化。2,复杂度。原则上适用于任何软件,特别适用于一些特别复杂,变化特别频繁的系统——尤其是迭代很快又很复杂的稳定
2017-10-29 01:05:27 3152
转载 Domain-Driven Design
下载地址 http://www.infoq.com/cn/minibooks/domain-driven-design-quickly判断是否是领域逻辑的原则:就是这个逻辑动作是否有明确的业务上的含义,或者说是否是业务相关的,而不仅仅是技术相关的。只有将技术实现手段从领域问题中剥离才能保证领域本身的精炼,保证程序员可以把精力集中到领域问题本身上来,而不会满脑子都是技术实现手段。按照
2017-10-29 00:57:42 755
转载 SpringCloud、Dubbo 和 Istio 微服务框架
原文地址:https://segmentfault.com/a/1190000010953144微服务框架潮流,当前该如何选择 SpringCloud、Dubbo or Istio?在 Kubernetes 容器云平台于众多企业里遍地实施开花后,迅速结出的果实:应用微服务化当仁不让的居于首位。众所周知,基于容器平台构建后端服务,可以更加迅速的实现业务微服务化,与
2017-10-27 09:36:58 5519
转载 几种常见的微服务架构方案—ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm
微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果。虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合项目的特点来选择某个合适的微服务架构平台,以此稳妥地实施项目的微服务化改造或开发进程。本文选自《架构解密:从分布式到微服务》。 本文盘点了四种常用的微服务架构方案,分别是ZeroC
2017-10-26 16:27:07 1768
转载 Redis为什么使用单进程单线程方式也这么快
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:完全基于内存数据结构简单,对数据操作也简单使用多路 I/O 复用模型第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。多路
2017-10-22 21:58:42 550
转载 推荐:JDK7与JDK8中HashMap的实现
原文转自:https://my.oschina.net/hosee/blog/618953JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一个Entry1transientEntry<K,V>[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中;而Map中的key,value则以Entry的形式存放在数组中12345staticc...
2017-10-15 23:24:53 253
转载 java的动态代理机制详解
原文:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html本文对原文的不对的地方做了修正,见浅绿色字体。在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,
2017-10-14 23:53:35 200
转载 Java 内存区域和GC机制
目录Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。
2017-10-13 19:20:22 309
转载 最长回文子串——Manacher 算法
0. 问题定义最长回文子串问题:给定一个字符串,求它的最长回文子串长度。如果一个字符串正着读和反着读是一样的,那它就是回文串。下面是一些回文串的实例:12321 a aba abba aaaa tattarrattat(牛津英语词典中最长的回文单词)1. Brute-force 解法对于最长回文子串问题,最简单粗暴的办法是:找到字符串的所有子串,遍历每一个子串以
2017-10-08 12:20:58 291
原创 二叉查找树,红黑树,AVL树,B~/B+树(B-tree),伸展树——优缺点及比较
二叉查找树(Binary Search Tree)很显然,二叉查找树的发现完全是因为静态查找结构在动态插入,删除结点所表现出来的无能为力(需要付出极大的代价)。BST 的操作代价分析: (1) 查找代价: 任何一个数据的查找过程都需要从根结点出发,沿某一个路径朝叶子结点前进。因此查找中数据比较次数与树的形态密切相关。 当树中每个结点左右子树高度大致相同时,树高为logN。则平...
2017-10-08 00:15:23 1206
原创 自然数n的数列 字典排序:求给定排列的下一个排列
题目:给定一个自然数n,我们可以知道它的全排列。比如n=3,则数字1,2,3的全排列有6个,分别是{1,2,3},{1,3,2},{2,1,3},{2,3,1},{3,1,2},{3,2,1}。 把这些排列可以按字典顺序从小到大排序,问给出一个数字N,和这个n个数的一个排列,求出该排列的一下个排列是多少?比如 n是3,给定的序列是'123',则所求的序列是'132'。解
2017-10-03 23:51:42 1364 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人