Memcached 主主复制这种架构,在程序连接时不知道应该连接哪个主服务器,所以需要在前端增加 VIP 地址,实现高可用架构。这里用 Keepalived 实现,因而 Keepalived 的作用就是用来检测 Memcached 服务器的状态是否正常。 Keepalived 不断检测 Memcached 主服务器的11211端口,如果检测到 Memcached 服务发生宕机或者死机等情况,就会将 VIP 从主服务器移至从服务器,从而实现 Memcached 的高可用性。
Memcached 是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的 Hash 表,所以支持任意存储类型的数据。很多网站通过使用 Memcached 提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站。 Memcached 是典型的 C/S 架构,因此需要安装 Memcached 服务端与 Memcached API 客户端。Memcached 服务端是用 C 语音编写的,而 Memcached API 客户端可以用任何语言来编写,如PHP、Python、Perl 等,并通过 Memcached 协议与 Memcached 服务端进行通信。
高数据量和吞吐量的数据库应用会对单机的性能造成较大压力,大的查询量会将单机的 CPU 耗尽,大的数据量对单机的存储压力较大,最终会耗尽系统的内存而将压力转移到磁盘 IO 上。 MongoDB 分片是使用多个服务器存储数据的方法,以支持巨大的数据存储和对数据进行操作。分片技术可以满足 MongoDB 数据量大量增长的需求,当一台 MongoDB 服务器不足以存储海量数据或不足以提供可接受的读写吞吐量时,我们就可以通过在多台服务器上分割数据,使得数据库系统能存储和处理更多的数据。
MongoDB 复制集(Replica Sets)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余备份并提高了数据的可用性,通过复制集可以对硬件故障和中断的服务进行恢复。
数据库的存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是插件式存储引擎,而其中最知名的就是 MyISAM 及 InnoDB。
MySQL 是一个真正的多线程、多用户的 SQL 数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySQL 项目由 MySQL AB 公司进行开发、发布和支持,之后历经 Sun 公司收购 MySQL AB 公司,Oracle 公司收购 Sun 公司的过程,目前 MySQL 项目由 Oracle 公司负责运营和维护。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号