关于magent的安装,在上篇已经讲过,请查看:Memcached之代理服务magent(8)
magent简介
1,和Memcached一样,也是基于libevent的事件驱动模型。从安装magent就能看得出来,必须先安装libevent包。
2,支持ketama的一致性算法。
3,支持Memcached的二进制协议,实现请求转发。
4,magent和每个memcached保持多个长连接,以实现数据的实时同步和主从节点的检测。
5,magent根据集群来做备份的。当Memcached命令发送到某台已经挂掉的Memcached服务器时,命令将会转发到Memcached backup集群中。
magent根据集群来做备份的
magent根据集群来做备份的
magent根据集群来做备份的
重要的事情说三遍,哈哈。那magent根据集群来做备份是怎么回事呢?其实就是magent启动命令中所有的-s参数的主节点组成一个集群,-b参数的backup节点组成一个集群。backup节点组成的集群会备份主节点组成集群的数据,当Memcached命令发送到某台已经挂掉的Memcached服务器时,命令将会转发到Memcached backup集群中,当挂掉的主节点上线,所有操作都会在主节点执行,但是因为Memcached挂掉后数据不存在,所以会造成之前的数据无法获取。
magent工作方式
1,get操作,先到主Memcached上读取;如果失败,再到备份Memcached上读取,这样就会导致两次读。
2,如果一次gets多个key的值,会逐个执行1中的步骤。
3,Magent解析出客户端发送的命令,然后向映射到的Memcache服务器发送命令,如果Memcache服务器连接不上,Magent会向backup Memcached集群发送命令。
3,delete,incr,decr,add,set,replace,prepend,append,cas同时操作主Memcached和备份的Memcached。写操作:先操作备份Memcached,再操作普通的Memcached。
基于Magent的HA架构图:
一个Magent对应一个主Memcached和一个Backup Memcached。客户端连接到各个Magent,组成一个集群。
客户端只连一个Magent,这个Magent包含多个主Memcached,和多个从Memcached。Backup集群备份主节点集群。
Magent和Memcached混合使用:
还有另外一个Memcached代理工具moxi(先知),看这个名字就很diao了,不过我没有用过,大家有兴趣可以了解下。
分享到:
相关推荐
#### 二、Keepalived+nginx+Tomcat+Memcached HA架构设计 **1. 架构概览** 在本方案中,采用Keepalived作为高可用性的监控工具,Nginx作为负载均衡器,Tomcat作为应用服务器,Memcached作为Session共享存储介质。...
高可用性(High Availability, HA)和高性能(High Performance, HP)是架构设计的关键目标。为了实现这些,架构师可能需要考虑负载均衡、故障转移、冗余系统和性能调优等策略。例如,使用Nginx进行负载均衡,通过...
2. **高可用性(High Availability, HA)**:通过冗余和故障转移来确保服务不中断。讨论如何设计无状态服务、负载均衡、健康检查等策略。 3. **容错性(Fault Tolerance)**:研究系统在出现错误时如何保持功能。例如,...
同时使用了M/SKW(Master-Slave-Keeper)架构,以及Memcached、TT、BDB/Redis/membase等分布式存储解决方案,以实现数据缓存和高效读取。 - **编程语言**:选择PHP,因其开发速度快、学习成本低、运行效率高,以及...
高可用(High Availability, HA)架构设计通常涉及以下几个关键知识点: 1. **负载均衡**:通过分配网络流量到多个服务器,避免单一节点过载,提高服务的响应速度和整体系统的可用性。常见的负载均衡器有Nginx和...
- 协调器机制:GemFire客户端通过协调器连接到合适的服务器,提高数据访问效率,并通过HA(高可用性)架构保证服务稳定性。 3. **集成Memcached与Redis**: - 与Memcached集成:GemFire可以与Memcached客户端交互...
1. 文本协议设计,非常透明,支持类似memcached stats的协议来监控broker 2. 纯Java实现,从通讯到存储,从client到server都是重新实现 3. 提供事务支持,包括本地事务和XA分布式事务 4. 支持HA复制,包括异步复制和...
1. 高可用(High Availability, HA)架构的概念: 高可用架构是指在系统设计时通过冗余和容错机制来减少系统故障时间,确保系统能够持续提供服务的一种架构设计。在文件中提及的“高可用数据架构”,意味着大众点评...
OpenStack HA(High Availability,高可用性)是指在OpenStack系统中通过一系列的架构和配置手段来确保系统具备在部分组件或服务发生故障时,系统能够持续提供服务的能力。实现高可用性是任何关键业务系统部署的首要...
3. **HA技术**:熟悉常用HA相关技术,了解k8s、Docker等容器化软件。 4. **分布式系统**:熟练使用分布式缓存、分布式文件系统和消息中间件。 5. **虚拟化技术**:熟悉OpenStack架构和虚拟化技术,如Xen、KVM、...
3. **缓存策略**:缓存是提升性能的常见方法,如使用Redis或Memcached。书中会详细讨论缓存的策略,如LRU(最近最少使用)、LFU(最不经常使用)以及一致性哈希等。 4. **数据库优化**:面对大数据量,数据库的性能...
1. **高可用(High Availability, HA)**:指系统在遇到各种故障时仍能提供连续服务的能力。通常衡量标准是系统正常运行时间占总时间的比例,即系统的可用性。在实际应用中,我们可以通过负载均衡、冗余设计等手段来...
例如,Redis或Memcached等缓存系统可用于缓存经常访问的图片。 5. **监控与日志**:实施全面的监控和日志记录机制,以便及时发现并解决潜在问题。例如,使用ELK栈(Elasticsearch、Logstash、Kibana)进行日志管理和...
在IT行业中,构建高可用(High Availability,HA)系统架构是一项至关重要的任务,尤其是在Java开发领域。高可用性意味着系统能够在出现硬件故障、网络中断或其他异常情况时,仍能持续提供服务,确保业务的连续性。...
9. 微服务架构:将大系统拆分为小而独立的服务,每个服务都可以独立部署、扩展和升级,增强系统的灵活性和可维护性。 10. 设计模式与算法优化:采用合适的并发模型(如Actor模型、事件驱动)和高效的算法,提高系统...
直达区(Bingo)是其特色服务之一,旨在提高用户搜索效率。 2. **前端定义**: 前端是用户与网站交互的界面,包括浏览器端的所有内容,如HTML、CSS、JavaScript以及与服务器交互的AJAX等技术。在搜搜的架构中,...
标题中的“***微服务化之路”揭示了文档的核心内容,即将传统的单体应用架构向微服务架构转型的实践过程。***作为一款面向海外市场的短视频社交应用,其技术团队在转型过程中遇到了许多问题和挑战,文档详细地介绍了...
### 开源基础架构和集群最佳实践 #### 一、测试环境准备 在开始任何实践之前,需要准备一个稳定的测试环境。根据题目中的描述,我们使用两台CentOS 6.5虚拟机作为测试平台。 ##### 1、测试环境交代 - **主机1**:...
这种HA(High Availability)架构确保即使主数据库出现故障,数据仍能持续服务。此外,通过读写分离器,可以进一步加速读取速度,提高系统性能。 为了增强搜索功能,由于InnoDB不支持全文搜索,引入了Sphinx搜索...