摘要: Java内存回收机制 本文转自https://www.cnblogs.com/prophet-it/p/6498275.html 1.java的内存 java的内存结构分为 堆 (是gc的主要区域) 线程共享,主要是用于分配实例对象和数组 栈 线程私有,它的生命周期和线程相同,又分成 虚拟机栈和本地 阅读全文
posted @ 2018-03-15 23:49 跨境电商杂货铺 阅读(366) 评论(0) 推荐(0)
摘要: 电话面试: 第一次面试关注的问题,1)java基础: jvm 内存回收,垃圾回收基本原理,Java并发包的线程池,Java8的新特性。nio 堆排序。conrenthashmap , concurrenthashmap 的size实现, spring的事务 2)数据库基础: 事务隔离级别,数据库连接 阅读全文
posted @ 2018-03-15 23:42 跨境电商杂货铺 阅读(2056) 评论(0) 推荐(0)
摘要: ZK的数据结构特点 ZooKeeper这种数据结构有如下这些特点: 1. 每个子目录项如NameService都被称作znode,这个znode是被它所在的路径唯一标识,如Server1这个znode的标识为/NameService/Server1 2. znode可以有子节点目录,并且每个znod 阅读全文
posted @ 2018-03-15 18:27 跨境电商杂货铺 阅读(914) 评论(0) 推荐(0)
摘要: 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集成中的一个技术难点,也是每一个分布式系 阅读全文
posted @ 2018-03-15 18:19 跨境电商杂货铺 阅读(204) 评论(0) 推荐(0)
摘要: 1.获取分布式锁的总体思路 在获取分布式锁的时候在locker节点下创建临时顺序节点,释放锁的时候删除该临时节点。客户端调用createNode方法在locker下创建临时顺序节点, 然后调用getChildren(“locker”)来获取locker下面的所有子节点,注意此时不用设置任何Watch 阅读全文
posted @ 2018-03-15 17:58 跨境电商杂货铺 阅读(1321) 评论(0) 推荐(0)
摘要: Exists - 检查Znode的存在 ZooKeeper类提供了 exists 方法来检查znode的存在。如果指定的znode存在,则返回一个znode的元数据。exists方法的签名如下: path- Znode路径 watcher - 布尔值,用于指定是否监视指定的znode path- Z 阅读全文
posted @ 2018-03-15 14:43 跨境电商杂货铺 阅读(2157) 评论(0) 推荐(0)
摘要: 连接到ZooKeeper集合 ZooKeeper类通过其构造函数提供connect功能。构造函数的签名如下 : connectionString - ZooKeeper集合主机。 sessionTimeout - 会话超时(以毫秒为单位)。 watcher - 实现“监视器”界面的对象。ZooKee 阅读全文
posted @ 2018-03-15 14:36 跨境电商杂货铺 阅读(2203) 评论(0) 推荐(0)
摘要: ZooKeeper API的核心部分是ZooKeeper类。它提供了在其构造函数中连接ZooKeeper集合的选项,并具有以下方法: connect - 连接到ZooKeeper集合 create- 创建znode exists- 检查znode是否存在及其信息 getData - 从特定的znod 阅读全文
posted @ 2018-03-15 11:28 跨境电商杂货铺 阅读(245) 评论(1) 推荐(1)
摘要: 检查状态 状态描述指定的znode的元数据。它包含时间戳,版本号,ACL,数据长度和子znode等细项。 语法 示例 输出 移除Znode 移除指定的znode并递归其所有子节点。只有在这样的znode可用的情况下才会发生。 语法 示例 输出 删除(delete/path)命令类似于 remove  阅读全文
posted @ 2018-03-15 11:26 跨境电商杂货铺 阅读(502) 评论(1) 推荐(1)
摘要: Watch(监视) 当指定的znode或znode的子数据更改时,监视器会显示通知。你只能在 get 命令中设置watch。 语法 示例 输出 输出类似于普通的 get 命令,但它会等待后台等待znode更改。<从这里开始> 设置数据 设置指定znode的数据。完成此设置操作后,你可以使用 get  阅读全文
posted @ 2018-03-15 11:25 跨境电商杂货铺 阅读(561) 评论(0) 推荐(0)
摘要: 获取数据 它返回znode的关联数据和指定znode的元数据。你将获得信息,例如上次修改数据的时间,修改的位置以及数据的相关信息。此CLI还用于分配监视器以显示数据相关的通知。 语法 示例 输出 要访问顺序节点,必须输入znode的完整路径。 示例 输出 阅读全文
posted @ 2018-03-15 11:22 跨境电商杂货铺 阅读(227) 评论(0) 推荐(0)
摘要: Zookeeper CLI 由 xpproen 创建,youj 最后一次修改 2016-12-27 Zookeeper CLI Zookeeper CLI 由 xpproen 创建,youj 最后一次修改 2016-12-27 ZooKeeper命令行界面(CLI)用于与ZooKeeper集合进行交 阅读全文
posted @ 2018-03-15 11:20 跨境电商杂货铺 阅读(156) 评论(0) 推荐(0)
摘要: ZooKeeper服务器是用Java创建的,它在JVM上运行。 创建配置文件 使用命令 vi conf/zoo.cfg 和所有以下参数设置为起点,打开名为 conf/zoo.cfg 的配置文件。 一旦成功保存配置文件,再次返回终端。你现在可以启动zookeeper服务器。 步骤2.4:启动ZooKe 阅读全文
posted @ 2018-03-15 11:16 跨境电商杂货铺 阅读(303) 评论(0) 推荐(0)
摘要: 让我们分析如何在ZooKeeper集合中选举leader节点。考虑一个集群中有N个节点。leader选举的过程如下: 所有节点创建具有相同路径 /app/leader_election/guid_ 的顺序、临时节点。 ZooKeeper集合将附加10位序列号到路径,创建的znode将是 /app/l 阅读全文
posted @ 2018-03-15 11:15 跨境电商杂货铺 阅读(141) 评论(0) 推荐(0)
摘要: 我们知道写入过程比ZooKeeper集合中的读取过程要贵,因为所有节点都需要在数据库中写入相同的数据。因此,对于平衡的环境拥有较少数量(例如3,5,7)的节点比拥有大量的节点要好。 阅读全文
posted @ 2018-03-15 11:11 跨境电商杂货铺 阅读(160) 评论(0) 推荐(0)
摘要: ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。 作为ZooKeeper架构的一部分的每个组件在下表中进行了说明。 客户端,我们的分布式应用集群中的一个节点,从服务器访问信息。对于特定的时间间隔,每个客户端向服务器发送消息以使服务器知道客户端是活跃的。 类似地,当客户端连接 阅读全文
posted @ 2018-03-15 10:57 跨境电商杂货铺 阅读(257) 评论(0) 推荐(0)
摘要: 分布式应用的优点 可靠性 - 单个或几个系统的故障不会使整个系统出现故障。 可扩展性 - 可以在需要时增加性能,通过添加更多机器,在应用程序配置中进行微小的更改,而不会有停机时间。 透明性 - 隐藏系统的复杂性,并将其显示为单个实体/应用程序。 可靠性 - 单个或几个系统的故障不会使整个系统出现故障 阅读全文
posted @ 2018-03-15 10:53 跨境电商杂货铺 阅读(144) 评论(0) 推荐(0)
摘要: 1. 配置管理 Zookeeper提供了这样的一种服务:一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更。这样就省去手动拷贝配置了,还保证了可靠和一致性。 2. 名字服务 这个可以简单理解为一个电话薄,电话号码不好记,但是人名好记,要打谁的电话,直接查人名 阅读全文
posted @ 2018-03-15 10:49 跨境电商杂货铺 阅读(688) 评论(0) 推荐(1)