分布式
低调的洋仔
春风桃李花开日,秋雨梧桐叶落时。西宫南内多秋草,落叶满阶红不扫。
展开
-
ElasticJob失效转移逻辑
本文主要讲解ElasticJob的失效转移逻辑从根本上说,失效转移逻辑是基于Zookeeper的节点的变化而实现的,这里大致说一下失效转移的流程,Scheduler启动开始后,会注册相应的监听器,这些监听器会监听数据节点的变化情况,那么失效转移逻辑的触发就是因为监听了instanceNode的节点的删除事件,这里其实就是利用了ZK的watch机制,回调的时候通过类型判断的是不是删除事件,当删除事件原创 2020-12-12 16:03:35 · 798 阅读 · 0 评论 -
ElasticJob源码深入解读
public class App { private final static String SERVERLIST = "192.168.154.100:2181,192.168.154.102:2181,192.168.154.104:2181"; public static void main(String[] args) throws SchedulerException原创 2020-12-12 16:03:18 · 1070 阅读 · 0 评论 -
Quartz源码解读-任务是如何定时执行的
例子import org.quartz.*;import org.quartz.impl.StdSchedulerFactory;import java.util.Date;/** * quartz定时器测试 * * @author leizhimin 2009-7-23 8:49:01 */class MyJob implements Job { public voi原创 2020-12-12 16:01:22 · 668 阅读 · 0 评论 -
JedisPool源码解析
JedisPoolConfig的继承结构这个BaseObjectPoolConfig中无非是一部分常量和私有的变量。public abstract class BaseObjectPoolConfig implements Cloneable { public static final boolean DEFAULT_LIFO = true; public static final原创 2020-12-12 16:00:53 · 884 阅读 · 0 评论 -
ElasticJob源码分析--定时任务执行JobScheduler类分析
public static void main(String[] args) { // 初始化数据源 DataSource dataSource = MovieServiceUtils.getDataSource(); // 定义日志数据库事件溯源配置 JobEventConfiguration jobEventRdbConfig =原创 2020-12-12 16:00:15 · 962 阅读 · 0 评论 -
ElasticJob源码部分解读-Zookeeper建立连接
private static CoordinatorRegistryCenter createRegistryCenter() { CoordinatorRegistryCenter regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration(SERVERLIST, "movie_data"));原创 2020-12-12 15:59:54 · 1172 阅读 · 0 评论 -
聊聊同步、异步、阻塞与非阻塞
近来遇到了一些常见的概念,尤其是网络编程方面的概念,如:阻塞、非阻塞、异步I/O等等,对于这些概念自己也没有太清晰的认识,只是很模糊的概念,说了解吧也了解,但是要让自己准确的描述概念方面的具体细节,却说的不那么准确,这也是自己在这几个方面也没有细细考究过的原因吧。经过看了些这几个概念的资料,发现同步、异步、阻塞、非阻塞的概念其实也并不难以理解,在此写下此文,欢迎拍砖,希望多多交流。1 同步与异步首转载 2020-12-12 15:53:11 · 280 阅读 · 0 评论 -
Memcached调优
调优主要是针对与增长因子和chunk块的大小进行设置。f 参数factor增长因子默认是1.25,曾经是2,值越小slab的chunk size差距越小,内存浪费就越小。1.25的增长因子适合存储几百个字节的对象。n参数 :chunk的初始值。根据数据分布来调整factor建议:计算数据的预期平均长度,调整factor,以获得最恰当的设置。1.非均匀分布,即数据长度集中在几个区域内,如保存用户的原创 2020-12-12 15:51:54 · 354 阅读 · 0 评论 -
Memcached的分布式
Memcached分布式缓存系统如何实现的缓存功能,其服务器之间不存在相互的通信,其分布式主要是依靠于客户端的对于key的映射,映射到不同的服务器上以此来实现分布式的存储和查询,当然了这个映射较为固定,且一般情况下,映射到某一台主机后基本不会变化主机地址,除非发生宕机等事故时,可以通过重新计算映射到其他服务器上去。Memcached客户端通过配置SockIOPool的servers参数保存服务器地原创 2020-12-12 15:51:01 · 321 阅读 · 0 评论 -
Memcached数据存储方式
Memcached存储的方式称为Slab Allocator ,基本的方式是:1. 把内存划分为多个slab, 大小都是预先设定好的,用于解决碎片问题,分配给Slab的内存空间被称为Page,默认是1M,一个Slab下可以有多个Page。2.把一个page划分成多个chunk块,chunk块用于缓存记录的空间。chunk的值现有一个初始值然后根据增长因子来增大。3.slab classes:内存区原创 2020-12-12 15:49:52 · 650 阅读 · 0 评论 -
Memcached安装
安装Libeventhttp://libevent.org/ 目前最新版本libevent-2.0.22-stable.tar.gz解压;tar -zxvflibevent-2.0.22-stable.tar.gz进入目录;./configure --prefix=/usr 配置目录makemake install安装Memcached的服务端解压并进行安装./configu原创 2020-12-12 15:48:15 · 198 阅读 · 0 评论 -
Memcached使用
Memcached简介Memcached 是一款开源框架,功能很简单,主要是存储较小的Key-value键值对,存储小块的数据,他的最大存储的数据大小为1M,不过这个值是可以进行设置的。Memcached不会进行持久化操作,因为它的目的就是用于进行缓存,纯粹的内存操作,速度而言,比redis更为高效,可以参考之前的文章中的那个测试报告,但是,功能点而言相对于Redis而言是很少的,因为他只能是ke原创 2020-12-12 15:47:47 · 1032 阅读 · 0 评论 -
Dubbo注册节点数据探查
Dubbo存在的意义就在于服务提供方只需要把自己的服务接口注册到注册中心中也就是Zookeeper中,而使用方只需要知道我需要什么接口,但是不必依赖于接口提供者的项目,通过Zookeeper作为中介进行沟通,消费者可以通过注册到上面的节点的数据获取到服务的相关信息,然后Dubbo中获取到这些信息之后,会使用配置好的协议来进行解析,建立与服务提供方的连接以及可以通过该协议调用接口中提供的方法,当然这原创 2019-07-17 02:17:49 · 712 阅读 · 0 评论