Memcache升级版:CouchBase的安装配置与使用说明

2023-12-14 23:48

本文主要是介绍Memcache升级版:CouchBase的安装配置与使用说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Memcache基本上已经是开发的标配了,但是对于Memcache集群,很多线上部署仍然是很单薄的。

几个存在的问题:不健壮、数据不安全、配置变更可能导致存取异常、后备数据的一致性

鉴于存在以上问题,Memcache的开发团队开发了Membase,支持多台服务器集群,数据的切片和复制,有效的提高了服务稳定性和数据的安全 性,并且支持数据的持久存储。代码的稳定性不够好,我曾经在部分线上业务上使用了Membase,后来因为几次莫名的存取操作缓慢,只能又撤销回到 Memcache。

之后,Membase团队与CouchDB团队合并,推出二合一的产品: Couchbase。

Couchbase的最大特点:

1,完全继承Memcache,原生支持所有Memcache操作;

2,继承了Membase的特性,支持集群和数据持久化;

3,继承了CouchDB的文档性质,支持通过View对数据进行操作。这个View的特性,提供了以往memcache所不具备的便利性,但是同Mongodb相比又很简单原始,感觉不是一种普遍需求的功能。

首先,从安装讲起:

安装服务器:

去官网下载对应版本的安装包http://www.couchbase.com 目前最新版本是2.1.1

从membase开始,就提倡采用web方式进行管理(执行完安装文件后,在浏览器中http://localhost:8091端口访问),默认是8091端口。

另外一段信息,是关于端口。11211是memcache访问端口,8091是管理和操作端口,其他几个是用于管理和集群通讯的。

打开8091进行初始化设置

初始化过程很人性化,第一步是选择物理存储位置,并且设定新创建还是加入到一个已有的集群中。

如果选择新创建,需要指定内存使用的数量(注意若在集群中,所有集群的Mem内存必须都大于此值)。下一步中,还可以选择自动灌入一些测试数据,这样能直接体验一些view的效果。

再下一步,是创建缺省Bucket设置,这个很重要:

Bucket的意义,在于将数据进行分隔,比如:任何view就是基于一个bucket的,仅对bucket内的数据进行处理。一个server上 可以有多个Bucket,每个Bucket的存储类型、内容占用、数据复制数量等,都需要分别指定。从这个意义上看,每个Bucket都相当于一个独立的 实例。在集群状态下,我们需要对server进行集群设置,Bucket只侧重数据的保管。

创建Bucket,需要指明驱动类型: Memcached顾名思义,纯内存,无复制集等功能;Couchbase型是带有持久存储,可以有复制集。

关于复制集,可以设置:禁止复制集、复制集数量(如果设为2,数据将在两个节点上保存,任何一个节点损坏数据仍然存在),是否对索引也进行复制。Flush,是指是否支持清空全部数据的操作。

建议是使用Couchbase类型,设定好内存使用量,其他按默认。关于内存设定,尽量不要将Server上的内存全部分配出去,留一些空闲,对新建Bucket进行测试就很方便。当然,Bucket占用的内存数,在建立后也是可以动态调整的。

后面按照提示进行,设置完管理员密码,服务就可以使用了。在首页的管理界面,可以看到运行的概况:

在ServerNodes帧中,可以查看服务器集群情况;在View中,可以管理各个Bucket中的View,在DataBuckets中,对Buckets进行管理。比如调整内存占用:

只有一个服务器节点,replica是没有意义的,我们来搭建第二个服务器节点。安装过程类似,这里选择加入集群,填写IP和密码:

点击下一步,经过验证就可以加入集群了。集群中任何一台服务器,地位是对等的,用浏览器连接上去都可以进行管理。

可以看到,新加入的服务器处于 Pending 状态,意味着数据尚未进行同步。只有数据进行同步之后,这个节点才能提供服务。点击Rebalance按钮,进行数据同步。还有进度条显示,真的很体贴。

 

 

转载自: http://www.4u4v.net/memcache-sheng-ji-ban-couchbase-di-an-zhuang-pei-zhi-yu-shi-yong-shuo-ming.html

这篇关于Memcache升级版:CouchBase的安装配置与使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494341

相关文章

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

使用Python实现一个优雅的异步定时器

《使用Python实现一个优雅的异步定时器》在Python中实现定时器功能是一个常见需求,尤其是在需要周期性执行任务的场景下,本文给大家介绍了基于asyncio和threading模块,可扩展的异步定... 目录需求背景代码1. 单例事件循环的实现2. 事件循环的运行与关闭3. 定时器核心逻辑4. 启动与停

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自