`
lxy2520
  • 浏览: 6083 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

分布式系统基于缓存机制的实时开关系统——可将一个指令同时推送给N个主机

 
阅读更多

基于Memcached的开关机制

林小应

1. 问题描述

如果,应用系统需要调用远程服务,且现在有两个版本的服务, newServiceoldService。怎样在不停应用的情况下实现动态切换呢?

如果将serviceurl放进数据库也是一个办法,但放到哪一个数据库呢,我们的数据库是分布式多库。

答案是:可以放到Memcached中!

2. 期望

能实时、方便的改变应用系统中的变量值

3. 设计原理

在应用系统中定义一个变量名称,再启动一个线程,不断扫描MC,获取该变量的值。

如果想要改变应用系统中的变量值,只需要改变MC中的值就可以了。

我们的具体方案:

将指令系统分成单一指令和多指令

单指令SingleCommand:一个名称——一个指令值 如:实例数据是否使用异步方式 asyn4Inst

多指令:一组名称——一组指令值 如:基于13个本地网的一组多指令JS13AreasCommand

模型:

抽象指令Model

/**
 * @author linxy 2012-01-22
 * 
 */
public abstract class AbCommand {
	…
}


单指令

/**
 * 指令
 * 
 * @author linxy 2013-01-22
 * 
 */
public class SingleCommand extends AbCommand implements Serializable {…


基于13个本地网的指令

/**
 * 江苏13个本地网区域有效的命令
 * @author linxy 2013-01-22
 *
 */
public class JS13AreasCommand extends AbCommand{…

/**
 * 清缓存命令
 * @author linxy 2013-01-23
 *
 */
public class MCVersionRefreshCommand extends JS13AreasCommand{…


4. 用法示例

如果要使用指令系统,只需要做以下两步:

一、在配置文件中增加对应的指令配置,包括名称和类型

如单指令配置

多指令配置

二、在代码中获取指令值

//获取单指令cmdName:
CmdUtil.getSingleCommand(cmdName);
//获取areaCode地区的cmdName指令:
CmdUtil.getJS13AreasCommand(cmdName, areaCode);


qq:346420558

分享到:
评论

相关推荐

    分布式缓存系统Memcached

     现在一些.NET开发人员开始放弃ASP.NET内置的缓存机制,转而使用Memcached——一种分布式的内存缓存系统。当运行在单独的Web服务器上,你可以很容易地清除一个已经确认被改变了的缓存。可惜,ASP.NET没有一个很好的...

    《分布式系统原理与范型》.pdf

    《分布式系统原理与范型》第一版.中文版,影印版。

    分布式系统原理与泛型

    第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进...

    基于redis的分布式缓存系统架构分析_张威.pdf

    在应用系统当中,需要确保数据访问所具备的时效性, 将关键性的业务数据全都...关键性业务数据的上传,所以,应该针对目前的系统缓存机制 作出相应的设计以及改造,让系统架构呈现出更为优质的可扩 展性、可靠性。

    分布式系统原理与范型

    第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进...

    分布式系统架构——使用Redis做MyBatis的二级缓存 - CSDN博客1

    1. BaseCache :为缓存数据最终存储的处类,默认为 PerpetualCache,基于Map存储 2. EvictionCache :当缓存数达到一定

    dubbo视频教程|基于Dubbo的分布式系统架构实战

    Dubbo是阿里巴巴开源的分布式服务化...本教程以Dubbo为核心框架,基于真实的第三方支付项目系统架构实战经验而形成的一整套分布式服务化系统架构技术解决方案。是你学习和了解现今最流行的“微服务架构”的首选教程。

    分布式系统中文版PPT-南理工复习可用

    南理工 魏松杰 对应他的英文版本PPT复习可用,同时是学习分布式系统的很好的PPT,分布式系统ppt对应分布式系统第五版英文版ppt,复习,自学可用,了解分布式系统,共10章,01-概述,02-系统模型,03-进程间通信,04-...

    分布式系统缓存设计

    分布式系统缓存设计 分享。分布式系统缓存设计 分享。分布式系统缓存设计 分享

    基于dubbo的分布式系统架构的视频教程

    基于dubbo的分布式系统架构视频教程,教你学会怎么搭建分布式系统以及管理

    《分布式系统》教学大纲

    通过这门课程的教学,使学生对分布式系统的基本概念、有关体系结构、分布式系统设计原理与方法有一个系统的掌握,能深入理解一些典型的分布式计算系统,为以后从事分布式系统研究与设计打下良好的理论和工程实践的...

    基于分布式系统的JAVA聊天系统

    基于分布式系统的JAVA聊天系统,完成了客户端和服务器端的通信,结构简单,但基本功能齐全,容错措施比较完善。

    大型分布式系统中的缓存架构

    本文主要详情大型分布式系统中缓存的相关理论,常见的缓存组件以及应使用场景。缓存概述缓存概述缓存的分类缓存主要分为四类,如下图:缓存的分类CDN 缓存CDN(Content Delivery Network 内容分发网络)的基本原理是...

    C++课程设计大作业基于unbutu实现的Linux分布式系统框架源码.zip

    C++课程设计大作业基于unbutu实现的Linux分布式系统框架源码,C++课程设计大作业基于unbutu实现的Linux分布式系统框架源码C++课程设计大作业基于unbutu实现的Linux分布式系统框架源码C++课程设计大作业基于unbutu...

    基于日志数据的分布式软件系统故障诊断综述.pdf

    #资源达人分享计划#

    分布式数据缓存系统的设计与实现

    在现代企业互联网应用中,分布式数据缓存技术能够减少对数据库层的访问负载量, 提高系统的整体性能,在系统架构中发挥着...试,本文设计的分布式数据缓存系统提供了可靠的数据冗余备份和失败恢复机制,系统运行 稳定。

    基于RocketMQ的MQTT消息推送服务器分布式部署方案.pdf

    MQTT 协议是Android 系统中消息推送的实现技术之一, 由于其具有低功耗、节省流量和可扩展性强的优点, 目前已得到了众多应用. 同时, RocketMQ 作为一种分布式消息队列, 在服务器分布式部署上具有很大优势, 具有高...

    分布式系统设计.pdf

    第1章概论 显然,未来对计算速度、系统可靠性和成本实效性的要求必将促使发展另外的计算机模型 来取代传统的冯·诺依曼型结构的计算机。...另一种表示同样思想的说法是用户把系统看成一个虚拟的单处理机而不是不

Global site tag (gtag.js) - Google Analytics