摘要: volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文
posted @ 2018-11-28 22:18 撸码识途 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cselmu9/article/details/51366946 在所有的设计模式中,单例模式是我们在项目开发中最为常见的设计模式之一,而单例模式有很多种实现方式,你是否都了解呢?高并发下如何保证单例模 阅读全文
posted @ 2018-11-28 22:10 撸码识途 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 这里有两张表TableA和TableB,分别是姓名表和年龄表,用于我们例子的测试数据: 表连接有几种? sql表连接分成外连接、内连接和交叉连接。 一.外连接 概述: 外连接包括三种,分别是左外连接、右外连接、全外连接。 对应的sql关键字:LEFT/RIGHT/FULL OUTER JOIN,通常 阅读全文
posted @ 2018-11-28 21:41 撸码识途 阅读(29068) 评论(1) 推荐(1) 编辑
摘要: 1.下载好logstash后,解压目录 2.进入bin目录,新建文件 logstash_default.conf input { tcp { port => 4560 codec => "json_lines" } } #json_lines output { stdout { codec => r 阅读全文
posted @ 2018-11-28 21:33 撸码识途 阅读(2725) 评论(0) 推荐(0) 编辑
摘要: Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。 官方地址:https://www.elastic.co/cn/products/kibana 一、Kibana安装 1.环境准备 Ki 阅读全文
posted @ 2018-11-28 21:22 撸码识途 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 负载均衡是一种手段,用来把对某种资源的访问分摊给不同的设备,从而减轻单点的压力。 架构图 图中左侧为ZooKeeper集群,右侧上方为工作服务器,下面为客户端。每台工作服务器在启动时都会去zookeeper的servers节点下注册临时节点,每台客户端在启动时都会去servers节点下取得所有可用的 阅读全文
posted @ 2018-11-27 21:54 撸码识途 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 我们常说的锁是单进程多线程锁,在多线程并发编程中,用于线程之间的数据同步,保护共享资源的访问。而分布式锁,指在分布式环境下,保护跨进程、跨主机、跨网络的共享资源,实现互斥访问,保证一致性。 架构图: 分布式锁获取思路a、在获取分布式锁的时候在locker节点下创建临时顺序节点,释放锁的时候删除该临时 阅读全文
posted @ 2018-11-27 21:43 撸码识途 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 考虑7*24小时向外提供服务的系统,不能有单点故障,于是我们使用集群,采用的是Master+Slave。集群中有一台主机和多台备机,由主机向外提 供服务,备机监听主机状态,一旦主机宕机,备机必需迅速接管主机继续向外提供服务。在这个过程中,从备机选出一台机作为主机的过程,就是Master选 举。 架构 阅读全文
posted @ 2018-11-27 21:32 撸码识途 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 服务发现:指对集群中的服务上下线做统一管理,每个工作服务器都可以作为数据的发布方,向集群注册自己的基本信息,而让某些监控服务器作为订阅方,订阅工作服务器的基本信息。当工作服务器的基本信息改变时,如服务上下线、服务器的角色或服务范围变更,那么监控服务器可以得到通知并响应这些变化。 实现代码如下: 阅读全文
posted @ 2018-11-27 21:23 撸码识途 阅读(418) 评论(0) 推荐(0) 编辑
摘要: Zookeeper 的核心是广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。 Zab协议有两种模式,它们分别是恢复模式(选主)和广播 模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状 阅读全文
posted @ 2018-11-27 21:20 撸码识途 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 为什么要用统一配置? 我们做项目时用到的配置比如数据库配置等...我们都是写死在项目里面,如果需要更改,那么也是的修改配置文件然后再投产上去,那么问题来了,如果做集群的呢,有100台机器,这时候做修改那就太不切实际了;那么就需要用到统一配置管理啦。 采用方案 1.公共配置抽取存放于zookeeper 阅读全文
posted @ 2018-11-27 21:05 撸码识途 阅读(441) 评论(0) 推荐(0) 编辑
摘要: es安装 1.es下载地址:https://www.elastic.co/downloads/past-releases 2.使用es需要先安装好jdk,注意es版本和jdk版本的兼容问题,es6.1.1版本需要jdk1.8以上版本。 3.下载好es的zip包后解压缩,解密后的目录如下图: 4.安装 阅读全文
posted @ 2018-11-27 20:38 撸码识途 阅读(24396) 评论(0) 推荐(0) 编辑
摘要: centos 7.5安装 elasticsearch 第一步,安装elasticsearch需要Java8 首先使用 yum list installed | grep java 查看安装的Java版本 如果不是Java 8,则使用 yum -y remove java-1.7.0-openjdk* 阅读全文
posted @ 2018-11-27 20:35 撸码识途 阅读(2929) 评论(0) 推荐(0) 编辑
摘要: 1.setnx锁在redis中最简单的数据结构就是string。最早的时候,上锁的操作一般使用setnx,这个命令是当:lock不存在的时候set一个val,或许你还会记得使用expire来增加锁的过期,解锁操作就是使用del命令,伪代码如下:if (Redis::setnx("my:lock", 阅读全文
posted @ 2018-11-26 22:48 撸码识途 阅读(398) 评论(0) 推荐(0) 编辑
摘要: @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者如果都写在字段上,那么 阅读全文
posted @ 2018-11-26 22:15 撸码识途 阅读(638) 评论(0) 推荐(0) 编辑