摘要: 一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。 算法的具体原理这里再次贴上: 先构造一个长度为232的整数环(这个环被称为一致性 阅读全文
posted @ 2016-06-15 18:33 IT·达人 阅读(384) 评论(1) 推荐(0) 编辑
摘要: 前言 周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境。 熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo 公司的服务都是通过Dubbo来治理的。其实之前我就对SOA、RPC等分布式服务的概念有所了解,Dubbo也多多少少知道一 阅读全文
posted @ 2016-06-15 18:33 IT·达人 阅读(1061) 评论(0) 推荐(0) 编辑
摘要: 集群监控 大型互联网企业的背后,依靠的是成千上万台服务器日夜不停的运转,以支撑其业务的 运转。宕机对于互联网企业来说,代价是沉重的,轻则影响用户体验,重则直接影响交易,导致交易下跌,并且给企业声誉造成不可挽回的损失。对于这些机器对应 的开发和运维人员来说,即便是每台机器登陆一次,登陆那么多台机器也够 阅读全文
posted @ 2016-06-15 18:32 IT·达人 阅读(1151) 评论(0) 推荐(0) 编辑
摘要: 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种 负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的 阅读全文
posted @ 2016-06-15 18:31 IT·达人 阅读(36362) 评论(6) 推荐(6) 编辑
摘要: 初识消息中间件 维 基百科上对于消息中间件的定义是"Message-oriented middleware(MOM) is software infrastructure focused on sending and receiving messages between distrubuted sy 阅读全文
posted @ 2016-06-15 18:30 IT·达人 阅读(3403) 评论(0) 推荐(3) 编辑
摘要: 2PC与3PC 在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行事务操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为"协调者(Coordinator)"的组件来统 阅读全文
posted @ 2016-06-15 18:30 IT·达人 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 前言 最近一直在拜读两本书: 1、李智慧老师的《大型网站技术架构 核心原理与案例分析》 2、曾宪杰老师的《大型网站系统与Java中间件实践》 看了并结合自己目前的工作进行了思考,感觉获益匪浅、受益良多,自己对大型网站的理解又有了不少的加深,下面分享一下自己的学习笔记。 学习笔记 1、大型网站架构的发 阅读全文
posted @ 2016-06-15 18:29 IT·达人 阅读(387) 评论(0) 推荐(0) 编辑
摘要: MemCache是什么 MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系 统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存 储键值对的HashMap,在内存中对任意的数据(比如字 阅读全文
posted @ 2016-06-15 18:29 IT·达人 阅读(1660) 评论(0) 推荐(0) 编辑
摘要: 关系型数据库 所谓关系型数据库,,就是指采用了关系模型来组织数据的数据库。 什么是关系模型,简单说,关系模型就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系模型中常用的概念: 1、关系 可以理解为一张二维表,每个关系都有一个关系名,在数据库中被称为表名 2、 阅读全文
posted @ 2016-06-15 18:28 IT·达人 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 前言 随着计算机系统规模变得越来越大,将所有业务单元集中部署在一个或者若干个大型机 上的体系结构物,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出 现,越来越多廉价的PC机成为了各大IT企业架构的首选,分布式的处理方式越 阅读全文
posted @ 2016-06-15 18:27 IT·达人 阅读(6053) 评论(1) 推荐(0) 编辑
摘要: 问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车 票,然后拿着车票去检票口,再坐上火车,开始一段美好的旅行 一切似乎都是那么和谐。想象一下,如果他选择的目 阅读全文
posted @ 2016-06-15 18:27 IT·达人 阅读(35767) 评论(4) 推荐(19) 编辑
摘要: CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier。 CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到所有线程都达到了这个屏障时,再一起继续执行 后面的动作。看一下CyclicBarrier的使用实例 阅读全文
posted @ 2016-06-15 18:24 IT·达人 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 前言 在多线程环境下,JDK给开发者提供了许多的组件供用户使用(主要在java.util.concurrent下),使得用户不需要再去关心在具体 场景下要如何写出同时兼顾线程安全性与高效率的代码。之前讲过的线程池、BlockingQueue都是在java.util.concurrent下的 组件,T 阅读全文
posted @ 2016-06-15 18:23 IT·达人 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 前言 定 时/计划功能在Java应用的各个领域都使用得非常多,比方说Web层面,可能一个项目要定时采集话单、定时更新某些缓存、定时清理一批不活跃用户等等。 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程方式进行处理,所以它和多线程技术关联还是相当大的。那和 Thread 阅读全文
posted @ 2016-06-15 18:22 IT·达人 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 使用线程池与不使用线程池的差别 先来看一下使用线程池与不适应线程池的差别,第一段代码是使用线程池的: public static void main(String[] args) { long startTime = System.currentTimeMillis(); final List<In 阅读全文
posted @ 2016-06-15 18:21 IT·达人 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 概述 之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同一放到这里来讲,因为这三个方法都涉及到多线程的一个知识点 中断机制。 Java没有提供一种安全、直接的方法来停止某个线程 阅读全文
posted @ 2016-06-15 18:20 IT·达人 阅读(308) 评论(0) 推荐(0) 编辑
摘要: Queue是什么 队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除元素的。在FIFO队列中,所有新元素都插入队列的末尾。 Queue中的方法 Queue中的方法不难 阅读全文
posted @ 2016-06-15 18:19 IT·达人 阅读(8708) 评论(0) 推荐(2) 编辑
摘要: 线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线程组对象进行组织。 线程关联线程组:1级关联 所谓1级关联就是父对象中有子对象,但并不创建孙对 阅读全文
posted @ 2016-06-15 18:19 IT·达人 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 什么是生产者/消费者模型 一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点: 1、生产者生产的时候消费者不能消费 2、消费者消费的时候生产者不能生产 3、缓冲区空时消费者不能消 阅读全文
posted @ 2016-06-15 18:18 IT·达人 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平 锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得锁的,先来的未必就一定能先得到锁,从这 个角度讲,synchronized其实就是一种非公平锁。非 阅读全文
posted @ 2016-06-15 18:17 IT·达人 阅读(267) 评论(0) 推荐(0) 编辑