首页 » SEO优化 » php的mongodb扩大技巧_mongodb changeStream的php实现

php的mongodb扩大技巧_mongodb changeStream的php实现

访客 2024-10-29 0

扫一扫用手机浏览

文章目录 [+]

什么是mongodb的changeStreamchangeStream是mongodb基于oplog(操作日志)的实时的数据变更流,运用程序可以通过changeStream实现对mongo数据变更的订阅,我们可以理解为MySQL中的触发器或者基于binlog复制的从节点。
如何利用changeSteam可以对某个db/colletion/deployment进行监听(watch)监听的事宜(event)包括insert Event、Update Event、Replace Event、 delete Event等事宜利用场景可以利用这个特性实现对mongo中数据变更的监听,进行数据同步、复制等操作,举个栗子,公司原始系统利用PHP+MySQL进行做事,后续经由发展,账号做事越来越繁芜,账号属性多变,数据存储切换至MongoDB,采取Java进行新做事供应,但是老系统又不能一时砍掉,砍掉我们就要丢饭碗了,那数据流从mongo到MySQL如何进行同步呢,一个办法便是可以利用changeStream 进行。
代码实现这里我通过一个大略的demo来学习changeStream条件准备安装MongoDBmongodb须要开启复制集,也便是必须要主从,部分版本须要开启 enableMajorityReadConcern: true安装PHPmongdoDB扩展,把稳事变mongodb扩展而不是mongocomposer 安装php-mongodb包实现 详细实现后面贴图配置mongodb的复制集, mongo.conf 在代码实例中,这里我们利用一主两从启动 mongod -f /Users/gaoz/project13/mongo/db1/mongod.conf启动监听客户端 php index.php通过mongoshell进行数据insert/update操作把稳事变在实际的利用过程中,要把稳数据丢失的情形考虑大量数据变更的发生,加入Mq中间件进行处理做好做事故障监听

启动mongod做事,这里创建三个/mongo/db 分别为db1, db2, db3, 端口分别为28017,28018,28019

启动mongo监听脚本

php的mongodb扩大技巧_mongodb changeStream的php实现

通过mongoshell 操作数据

php的mongodb扩大技巧_mongodb changeStream的php实现
(图片来自网络侵删)

更新数据

监听脚本接管到数据变更

看一下接管到数据

这里重点关注三个内容

operationType: 操作类型,可能是update、insert、replace等

fullDocument: 文档内容

如果是更新的话,updateFields则是变更内容

后续的利用,比如同步到MySQL,大家可以在监听脚本中加入同步逻辑即可。

参考资料官方文档:https://docs.mongodb.com/manual/changeStreams/php-mongodb扩展 http://pecl.php.net/package/mongodbphp-mongodb composer包 https://github.com/mongodb/mongo-php-library

参考代码 https://github.com/nobody05/mongo-changestream-php

个人学习利用,欢迎示正谈论。

标签:

相关文章

和田谷歌SEO公司助力企业拓展全球市场

越来越多的企业开始关注网络营销,尤其是谷歌SEO优化。在我国新疆和田地区,也有越来越多的企业开始意识到谷歌SEO的重要性,希望通过...

SEO优化 2025-03-31 阅读1 评论0

国际化媒体SEO步骤,打造全球影响力的关键

全球化已成为不可逆转的趋势。越来越多的企业开始将目光投向国际市场,希望通过国际化媒体传播自己的品牌形象和产品。SEO(搜索引擎优化...

SEO优化 2025-03-31 阅读1 评论0