首页   注册   登录

Rush9999

V2EX 第 325722 号会员,加入于 2018-06-29 18:01:35 +08:00
Rush9999 最近回复了
热点事件日历一直请求超时
这个我遇到过,当时在 ipad 上买出现这种问题,找 b 站客服截图能退款的,只要 ios 那面生成订单 就可以找那面退款,只不过贼慢
74 天前
回复了 damon0097 创建的主题 问与答 做国际化,用哪个地图服务比较稳?
leaflet
https://dbaplus.cn/news-11-2397-1.html
MySQL 数据同步到 ES 中,大致总结可以分为两种方案:



# 方案 1:监听 MySQL 的 Binlog,分析 Binlog 将数据同步到 ES 集群中。



优点:业务与 ES 数据耦合度低,业务逻辑中不需要关心 ES 数据的写入;

缺点:Binlog 模式只能使用 ROW 模式,且引入了新的同步服务,增加了开发量以及维护成本,也增大了 ES 同步的风险。



# 方案 2:直接通过 ES API 将数据写入到 ES 集群中。



优点:简洁明了,能够灵活的控制数据的写入;

缺点:与业务耦合严重,强依赖于业务系统的写入方式。



考虑到订单系统 ES 服务的业务特殊性,对于订单数据的实时性较高,显然监听 Binlog 的方式相当于异步同步,有可能会产生较大的延时性。且方案 1 实质上跟方案 2 类似,但又引入了新的系统,维护成本也增高。所以订单中心 ES 采用了直接通过 ES API 写入订单数据的方式,该方式简洁灵活,能够很好的满足订单中心数据同步到 ES 的需求。



由于 ES 订单数据的同步采用的是在业务中写入的方式,当新建或更新文档发生异常时,如果重试势必会影响业务正常操作的响应时间。



所以每次业务操作只更新一次 ES,如果发生错误或者异常,在数据库中插入一条补救任务,有 Worker 任务会实时地扫这些数据,以数据库订单数据为基准来再次更新 ES 数据。通过此种补偿机制,来保证 ES 数据与数据库订单数据的最终一致性。
https://www.elastic.co/guide/en/elasticsearch/reference/7.3/docs-reindex.html
POST _reindex
{
"source": {
"index": "twitter",
"query": {
"term": {
"user": "kimchy"
}
}
},
"dest": {
"index": "new_twitter"
}
}
t_class
买彩票
192 天前
回复了 a154312237 创建的主题 分享创造 我们又做了个直男移动电源。(福利)
好多人 这里发生什么了
253 天前
回复了 utf16 创建的主题 问与答 Java 编程问题 求解决。。
不能直接 new 一个对象吗?没有构造方法还是什么。。。。没看懂需求是什么
255 天前
回复了 Rush9999 创建的主题 程序员 后端程序员可以不会写 SQL 语句吗?
@tabris17 已经在擦屁股了,要不我才不会管这些东西合不合理,今天看见数据库有一个表,里面有四个字段,表达一个东西,一个字段用 1,2,3,4 都能表示,我现在就是视而不见,服务能跑就跑吧,代码全是重复的,我也懒得删了,我跟测试说,出问题了,谁写的找谁,别找我
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2124 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 13ms · UTC 11:38 · PVG 19:38 · LAX 03:38 · JFK 06:38
♥ Do have faith in what you're doing.