分布式
a坤
这个作者很懒,什么都没留下…
展开
-
epoll的概述和原理
1. 简单概述---举个来自知乎的例子(可能也不是很形象):select/poll饭店服务员(内核)告诉饭店老板(用户程序):”现在有客人结账“但是这个服务员没人明确告诉老板,哪几桌的客人结帐。老板得自儿一个一个桌子去问:请问是你要结帐?epoll饭店服务员(内核)告诉饭店老板(用户程序):”1,2,5号客人结账“老板就可以直接去1,2,5号桌收钱了。2. 原理首先我们来定...转载 2019-04-17 11:27:39 · 264 阅读 · 0 评论 -
分布式系统-简介
一,什么是分布式系统分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也...转载 2019-04-14 20:42:42 · 359 阅读 · 0 评论 -
分布式-缓存架构
在高并发场景下,需要通过缓存来减少数据库的压力,使得大量的访问进来能够命中缓存,只有少量的需要到数据库层。由于缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以对于高并发设计,缓存的设计是必不可少的一环。一、为什么要使用缓存对于一家电商来讲,我们既希望存储越来越多的数据,因为数据将来就是资产,就是财富,只有有了数据,我们才知道用户需要什么,同时又希望当我想访问这些数据的时候,能够快...转载 2019-04-15 10:50:39 · 191 阅读 · 0 评论 -
分布式-缓存(ehcache,redis,memcached)应用场景的比较
1.ehcacheehcache直接在jvm虚拟机中缓存,速度快,效率高,使用方便;但是缓存共享麻烦,集群分布式应用不方便。如果是单个应用或者对缓存访问要求很高的应用,用ehcache。2.Memcachedmemcached 是早些年各大互联网公司常用的缓存方案,但是现在近几年基本都是 redis,没什么公司用 memcached 了。存储格式是Key-Value模式,但是很遗...原创 2019-04-15 12:16:49 · 374 阅读 · 0 评论 -
分布式锁原理以及redis,zookeeper实现分布式锁的原理
1.首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。但是我们现在的应用程序如果只部署一台服务器,那并发量...转载 2019-05-09 06:56:28 · 181 阅读 · 0 评论 -
分布式锁-实现方式
目前主流的有三种,从实现的复杂度上来看,从上往下难度依次增加:基于数据库实现基于Redis实现基于ZooKeeper实现基于数据库实现:基于数据库来做分布式锁的话,通常有两种做法:基于数据库的乐观锁基于数据库的悲观锁我们先来看一下如何基于「乐观锁」来实现:乐观锁机制其实就是在数据库表中引入一个版本号(version)字段来实现的。当我们要从数据库中读取数据的...转载 2019-05-10 09:05:08 · 149 阅读 · 0 评论 -
分布式锁,进程锁,线程锁
摘要:在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。 线程锁,进程锁,分布式锁 线程锁:大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。线程锁,进程锁,分布式锁线程锁:大家都不...转载 2019-05-10 15:07:32 · 418 阅读 · 0 评论