摘要:
Netflix的创造了一个调用的库 Hystrix 实现了断路器。在微服务架构中,通常有多层服务调用。 底层服务出现故障可能导致用户级联故障。当调用特定服务达到一定阈值时(Hystrix中的默认值为5秒内的20次故障),电路打开,不进行通话。在开路的情况下,可以使用备用的方法进行处理。如下图: 当服 阅读全文
摘要:
原子性: 原子性就是指该操作是不可再分的。不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。比如 a = 1; 非原子性: 也就是整个过程中会出现线程调度器中断操作的现象 类似"a ++"这样的操作不具有 阅读全文
摘要:
volatile保证可见性 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作的可见性,即一个线程修改了某个变量的值,这新值对其它线程来说是立即可见的 2)禁止进行指令重排序 volatile不能确保原子性 在访 阅读全文
摘要:
JMM关于synchronized的两条规定: 1)线程解锁前,必须把共享变量的最新值刷新到主内存中 2)线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新获取最新的值 (注意:加锁与解锁需要是同一把锁) 通过以上两点,可以看到synchronized能够实现可见性。同时 阅读全文
摘要:
JavaScript小数在做四则运算时,精度会丢失,这会在项目中引起诸多不便。先看个具体的例子: //较小的数运算 console.log(0.09999999 + 0.00000001); //0.09999999999999999 console.log(-0.09999999 - 0.0000 阅读全文
摘要:
前言: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 i 阅读全文
摘要:
elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html 本文以Elaticsearch 6.2.2 版本为基础,讲解Elasticsearch三个节点的分布式部署、核心配置的含义以及分布式部署遇到的 阅读全文
摘要:
同步一个表,可以参考我的上一篇 logstash-jdbc-input与mysql数据库同步。 同步多个表的做法,跟一个表类似,唯一不同的是 .conf 文件中的配置。 在这里我加了一个脚本文件jdbc-seckill.sql,是为了查询第二个表的数据(其实也可以不要此文件,而是直接将sql写在 . 阅读全文
摘要:
大多数情况下我们的数据都存放在了数据库中,但是elasticsearch它有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中,在这里我们使用logstash的logstash-jdbc-input的插件进行与数据库的同步,对于logstash与数据库 阅读全文
摘要:
JSONObject,JSONArray是JSON的两个子类。 首先我们来看JSONObject源码: 会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法。可以说JSONObject相当于Map<String, Object> 看个具体的列子: 运行 阅读全文