热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

使用CouchbaseSDK与SyncGatewayAPI

如何解决《使用CouchbaseSDK与SyncGatewayAPI》经验,为你挑选了1个好方法。

我已经完全部署了长沙发(服务器,同步网关和lite),并有一个API,移动应用程序和Web应用程序都在使用它。

它工作得很好,但是我想知道使用Sync Gateway API相对于Couchbase SDK是否有任何优势?具体来说,我想知道Sync Gateway是否可以比SDK(可能是内部队列/缓存系统)更好地处理大量操作,但似乎无法找到确定的文档。

目前,API使用C#Couchbase SDK,而我们很少使用SyncGateway(仅用于同步移动应用程序)。



1> rajagp..:

首先,一些相关的背景信息

每个需要同步到Couchbase Lite(CBL)客户端的文档都需要由同步网关(SGW)处理。无论是通过SGW API编写文档还是通过服务器写入(N1QL或SDK)引入文档,都是如此。后一种情况称为“导入处理”,其中SGW通过DCP feed读取(通过N1QL)写入存储桶的文档,然后由SGW处理该文档,并使用相关的同步元数据写回到存储桶。

先决条件

为了使SGW通过N1QL / SDK直接写入进口单证,您必须启用讨论“共享分区的访问权限”和进料加工这里

非流动文件:

如果您有永远不会同步到CBL客户端的文档,那么选择是显而易见的。使用服务器SDK或N1QL

移动文档(同步到CBL客户端的文档):

假设您正在与CBL 2.x客户端同步的SGW 2.x

如果您在服务器端编写了需要同步到CBL客户端的文档,请考虑以下内容

服务器端写入率:

如果您正在查看服务器端的写入数据,其持续速率大大超过1.5K / sec(比如说5K / sec),那么您应该采用SGW API路由。通过服务器N1QL查询进行批量更新很容易,但请记住SGW仍需要跟上并进行导入处理(在后台进行了讨论)。

这意味着,如果您正在通过SDK / N1QL进行大量更新,则必须对其进行速率限制,以便SGW能够保持(通过SDK进行批量更新)

就是说,重要的是要考虑以下事实:如果SGW跟不上DCP提要上的写入吞吐量,那么无论写入如何发生(SGW API或N1QL),都会导致延迟。

如果您不希望服务器上的持续写入率很高,那么请使用N1QL。

删除处理:

没关系。在共享存储桶访问下,通过SDK或SGW API进行的删除将导致逻辑​​删除。在这里了解更多

SGW特定配置:

自然,如果您要处理SGW特定的配置,创建SGW用户,角色,那么您将为此使用SGW API。

冲突处理:

在2.x中,这无关紧要。在CBL方面处理冲突。

SGW API面临的挑战

在现实世界中,最大的挑战可能是使用SG API路径意味着要么在外部系统中存储有关SG版本ID的信息,要么以读写方式执行每个变异(因为我们没有办法在不提供修订ID的情况下放置文档)


推荐阅读
  • 欢迎学习交流!!!持续更新中…文章目录页面生成过程渲染重排与重绘的比较重排(reflow)常见引起重排的属性和方法重排影响的范围尽可能减少 ... [详细]
  • 安装MemcachedMemcached整理安装PythonMemcachedAPIpython操作啊Memcached使用Python-memcached模块下载安装:https ... [详细]
  • 本文详细介绍了在PHP中如何创建新文件以及如何使自定义函数在整个项目中全局可用的方法,包括最新的实践技巧。 ... [详细]
  • 本文深入探讨ZooKeeper的功能与应用场景,解释其作为开源分布式协调服务的核心作用,以及如何通过ZooKeeper实现数据的一致性和高可用性。 ... [详细]
  • 面试技巧:如何清晰解释TCP的三次握手与四次挥手
    在技术面试中,正确且深入地解释TCP连接的建立与断开过程是非常重要的。本文不仅提供了对三次握手和四次挥手的基本理解,还深入探讨了这些过程中涉及的关键点,帮助面试者更加专业地回答相关问题。 ... [详细]
  • 本文详细介绍ThinkPHP框架中的cache方法,涵盖其功能、参数配置及使用场景,特别指出从3.1.2版本起,cache方法已被S方法取代。 ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 解决getallheaders函数导致的500错误及8种服务器性能优化策略
    本文探讨了解决getallheaders函数引起的服务器500错误的方法,并介绍八种有效的服务器性能优化技术,包括内存数据库的应用、Spark RDD的使用、缓存策略的实施、SSD的引入、数据库优化、IO模型的选择、多核处理策略以及分布式部署方案。 ... [详细]
  • mysql 分库分表策略_【数据库】分库分表策略
    关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多, ... [详细]
  • 本文详细介绍了如何手动编写兼容IE的Ajax函数,以及探讨了跨域请求的实现方法和原理,包括JSONP和服务器端设置HTTP头部等技术。 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 本文详细介绍了Oracle数据库的基本架构,包括数据文件和内存结构的概念。文章重点解释了Oracle实例的组成部分,如系统全局内存区域(SGA)和后台进程,以及客户端进程与服务器进程的交互方式。此外,还探讨了SGA中的共享池、库高速缓存、锁存器及SGA缓冲区缓存等关键组件的功能和运作机制。 ... [详细]
  • Linux环境下PostgreSQL的安装、配置及日常管理
    本文详细介绍了在Linux环境下安装、配置PostgreSQL数据库的过程,包括环境准备、安装步骤、配置数据库访问以及日常服务管理等方面的内容。适合初学者和有一定经验的数据库管理员参考。 ... [详细]
  • RabbitMQ消息分发策略与确认机制
    本文详细介绍了RabbitMQ的消息分发轮询机制以及消息确认(Message Acknowledgment)功能,通过实例演示了如何确保消息可靠传递。 ... [详细]
author-avatar
手机用户2502914387
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有