使用spring的@Scheduler注解可以非常方便的启动一个定时任务,但是当服务部署在多台服务器上做负载均衡的时候,可能会出现重复执行的情况. 现在我们通过代码指定job只在某一台机器执行. 首先在系统中配置一个执行job的机器的ip地址   然后,当job开始的时候就将本地ip和配置的ip对比,如果不是的话就结束任务. 转自:https://www.jianshu.com/p/30c1fb5f7f04…
上篇介绍了redis在集群环境下如何解决session共享的问题.今天来讲一下如何解决分布式锁的问题 什么是分布式锁? 分布式锁就是在多个服务器中,都来争夺某一资源.这时候我们肯定需要一把锁是不是 ,这个锁就是分布式锁,就算不是分布式,单机情况下,多个进程来争夺同一个资源,我们也要一把锁来控制先后顺序不是.分布式锁就是在多个服务器场景中来争夺相同的资源.打个比方,比如调度任务. 比如说,我们一个商城网站,要求每分钟要执行一个定时任务的操作,目的是把下单之后30分钟未付款的,把订单取消,然后把库存…
在集群环境下,大家会碰到一直困扰的问题,即多个 APP 下如何用 quartz 协调处理自动化 JOB . 大家想象一下,现在有 A , B , C3 台机器同时作为集群服务器对外统一提供 SERVICE : A , B , C 3 台机器上各有一个 QUARTZ ,他们会按照即定的 SCHEDULE 自动执行各自的任务. 我们先不说实现什么功能,就说这样的架构其实有点像多线程. 那多线程里就会存在"资源竞争"的问题,即可能产生脏读,脏写,由于三台 APP SERVER 里都有 QUA…
一直想记录工作中遇到的问题和解决的方法,奈何没有找到一方乐土,最近经常反思,是否需要记录平时的点滴,后台还是决定下定决心记录一些,以便以后用到的时候找不着,实现这样的一个功能主要也是业务所需要的. 需求:要求统计所有会员在线人数,并根据会员在线状态同步改变人数. 之前用户登录使用session去控制,那么可以通过session进行在线用户人数统计,后来实现无状态不在依赖session作为用户在线的标准,使用Redis替换了Session,那么用户直接退出也好做,但是会存在用户直接关闭页面的情况,…
这是分布式集群环境下,如何实现session共享系列的第五篇.在上一篇:分布式集群环境下,如何实现session共享四(部署项目测试)中,针对nginx不同的负载均衡策略:轮询.ip_hash方式,测试了session的不同使用情况,并且留下了一个问题:有没有可能针对nginx负载均衡策略(轮询)的基础上,对session实现共享呢??? 本篇在nginx负载均衡策略(轮询的基础上),通过spring-session将session存储到redis,实现session共享. 1.改造项目 1.1…
引言 最近线上环境遇到一个问题,就是ASP.NET Core Web应用在单个容器使用正常,扩展多个容器无法访问的问题.查看容器日志,发现以下异常: System.Security.Cryptography.CryptographicException: The key {efbb9f35-3a49-4f7f-af19-0f888fb3e04b} was not found in the key ring. 2019-09-30T18:34:55.473037193+08:00 at Micro…
##################内存管理############### 1.Redis的内存管理 .与memcache不同,没有实现自己的内存池 .在2..4以前,默认使用标准的内存分配函数(libc),可以选择tcmalloc .在2..4以后,jemalloc成为代码一部分 2.从实验的各个角度出发,发现对于大量数据的内存管理,使用jemolloc效果比较好,而对于少量数据,使用libc即可. ##################集群环境下Session管理###############…
为什么会产生Session共享问题   集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题. 解决方案 负载均衡中,IP绑定策略.如nginx:ip_hash tomcat的session共享 优点:不需要额外开发,只需搭建tomcat集群即可 缺点:tomcat 是全局session复制,集群内每个tomcat的session完全同步(也就是任何时候都完全一样的) 在大规模应用的时候,用户过多,集群内to…
在Hadoop1.2.1分布式集群环境下安装hive0.12 ● 前言: 1. 大家最好通读一遍过后,在理解的基础上再按照步骤搭建. 2. 之前写过两篇<<在VMware下安装Ubuntu并部署Hadoop1.2.1分布式环境>>.<在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架>都是Hadoop家族一系列的,后续还会有其它内容,敬请期待! 3. 好记性不如烂笔头,最新突然想把自己学习的东西整理出来,然而我也是刚刚学习,而且水平有限,难免会错误,请谅…
经过前边的积累,今天最终实现了集群环境下部署Hadoop.并成功执行了官方的样例. 工作例如以下: 两台机器: NameNode:上网小本,3G内存.机器名:YP-X100e,IP:192.168.101.130. DataNode:虚拟机,Win7下载VMWare10中虚拟Ubuntu14,虚拟机器名:ph-v370,IP:192.168.101.110 确保可互相ping通,依照机器名和IP配置各自机器的/etc/hosts文件和/etc/hostname文件.我的hosts配置内容例如以下…