摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
Tips 书中的源代码地址:https://github.com/jbloch/effective java 3e source code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本。 条目2:当构造方法参数过多时使用builder模式 静态 阅读全文
摘要:
Tips 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化。 在这里第一时间翻译成中文 阅读全文
摘要:
以后几节中主要介绍以下内容: 如何执行领导者选举,组员管理和两阶段提交协议等常见的分布式系统任务 如何实现一些分布式数据结构,如屏障(barrier),锁(lock)和队列(queue) 这一章中概述的高层次构建也被称为『ZooKeeper recipes』。这些都是在客户端使用ZooKeeper的 阅读全文
摘要:
Tips 原文作者: "Nicolas Cole" 原文地址: "The Resume Is Dead. Here's What You Need Instead" 你知道发送简历时会发生什么吗? 它通常会发送到一个股票公司的电子邮件,有人会在他们感到喜欢的时候进行检查。 检查的人是忙碌的,10次中 阅读全文
摘要:
Exhibitor是管理ZooKeeper服务实例的主管服务。由Netflix开发和开放源码,对于ZooKeeper的实例监控、备份/恢复、清理和可视化非常有用。 Note Netflix Exhibitor主页位于 https://github.com/Netflix/exhibitor。 管理Z 阅读全文
摘要:
Apache ZooKeeper是为了帮助解决复杂问题的软件工具,它可以帮助用户从复杂的实现中解救出来。 然而,ZooKeeper只暴露了原语,这取决于用户如何使用这些原语来解决应用程序中的协调问题。 社区已经在ZooKeeper数据模型及其API之上开发了高级框架。 Apache Curator是 阅读全文
摘要:
ZooKeeper服务可以通过以下两种方式进行监控: 使用一组四个字母的单词命令来监视健康状态 使用ZooKeeper内置的Java管理扩展功能 四个字母的单词命令 ZooKeeper响应一组命令,每个命令由四个字母组成。这些命令可以通过 或`nc`在客户端端口发出。这些命令的主要目标是提供一个简单 阅读全文
摘要:
以下列举了运行和管理ZooKeeper ensemble的一些最佳实践: 1. ZooKeeper数据目录包含快照和事务日志文件。如果 选项未启用,定期清理目录是一个好习惯。另外,管理员可能希望保留这些文件的备份,具体取决于应用程序的需要。但是,由于ZooKeeper是一个复制服务,我们只需要备份整 阅读全文
摘要:
ZooKeeper具有与其数据模型相关的可配置配额(quota)。 可以设置znode上的配额限制和存储的数据量。如果ZooKeeper命名空间中的一个子树超出与其关联的配额,ZooKeeper会在日志中打印警告消息。但是,如果超出指定的配额,操作并不会取消。 ZooKeeper配额存储在 路径的Z 阅读全文
摘要:
一个ZooKeeper集群或复制的ZooKeeper服务器集群应该优化配置,以避免出现脑裂(split brain)等情况。 由于网络分割,同一ensemble的两个不同服务器可能构成领导者不一致,因此可能发生脑裂的情景。 以下配置选项可用于ZooKeeper服务器的ensemble中: elect 阅读全文
摘要:
Tips 有关ZooKeeper部署和管理的详细说明,请参阅官方文档http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html。 1. 配置ZooKeeper服务 ZooKeeper服务器中包含各种配置参数。这些参数在zoo.cfg的配置文件中 阅读全文
摘要:
Tips 原文作者: "Thomas Oppong" 原文地址: "How to Improve Your Life in Just a Month" 你不能改变你不曾准备放弃的东西。 你就是你反复做的事。你的习惯性行为经常会被忽视,因为你不需要在进行例行的任务时进行自我分析。 许多人仅仅正在经历着 阅读全文
摘要:
ZooKeeper是用Java开发的,3.4.6版本的Java API文档可以在http://zookeeper.apache.org/doc/r3.4.6/api/index.html上找到。 Tips 本章的代码在Linux操作系统下进行测试,运行ZooKeeper服务器实例的版本为3.4.6。 阅读全文
摘要:
Tips 原文作者: "Pete Warden" 原文地址: "Deep Learning is Eating Software" 几个星期前,当我和Andrej Karpathy一起喝酒的时候,我们讨论了我们认为机器学习在未来几年内的发展方向。Andrej抛出了“软件2.0”这个词,我立刻就嫉妒了 阅读全文
摘要:
到目前为止,我们已经讨论了ZooKeeper服务的基础知识,并详细了解了数据模型及其属性。 我们也熟悉了ZooKeeper 监视(watch)的概念,监视就是在ZooKeeper命名空间中的znode发生任何变化时完成的事件机制。 我们通过公开一组与znodes相关联的ACL来读取身份验证和基本安全 阅读全文
摘要:
ZooKeeper命名空间中的每个znode都有一个与之关联的stat结构,类似于Unix/Linux文件系统中文件的stat结构。 znode的stat结构中的字段显示如下,各自的含义如下: cZxid:这是导致创建znode更改的事务ID。 mZxid:这是最后修改znode更改的事务ID。 p 阅读全文
摘要:
ZooKeeper的数据模型提供了ACL机制来控制访问znode。 在创建znode时,ACL将确定你可以在znode上执行的各种操作的权限。 ZooKeeper ACL模型与Unix / Linux文件许可类似,允许或阻止通过设置/取消权限位在znode上执行操作。 但是,ZooKeeper节点并 阅读全文
摘要:
ZooKeeper中的写入(write)操作是原子性和持久性的。 写入到大多数ZooKeeper服务器上的持久性存储中,可以保证写操作成功。 无论如何,ZooKeeper的最终一致性模型允许读取(read)ZooKeeper服务的最新状态,并且同步(sync)操作允许客户端更新ZooKeeper服务 阅读全文
摘要:
ZooKeeper的数据模型及其API支持以下九个基本操作: 操作 | 描述 | create | 在ZooKeeper命名空间的指定路径中创建一个znode delete | 从ZooKeeper命名空间的指定路径中删除一个znode exists | 检查路径中是否存在znode getChil 阅读全文
摘要:
1. ZooKeeper自下向上的服务视图 Apache ZooKeeper是分布式应用程序的协调服务。 它旨在解决分布式应用程序中与组件协调相关的棘手问题。 它通过暴露一个简单而强大的接口来实现这一点。 应用程序可以设计在通过ZooKeeper API实现的这些接口上,以解决分布式同步,集群配置管 阅读全文