当前位置: 首页 > news >正文

关键词排名优化网站建设公司信融营销型网站建设

关键词排名优化网站建设公司,信融营销型网站建设,双鸭山网站建设,wordpress勋章文章目录**一、前期准备****1. 集群健康检查****2. 备份数据****3. 监控系统准备****二、创建新索引并配置****1. 设计新索引映射****2. 创建读写别名****三、全量数据迁移****1. 执行初始 Reindex****2. 监控 Reindex 进度****四、增量数据同步****1. 方案选择****五、双写切换… 文章目录**一、前期准备****1. 集群健康检查****2. 备份数据****3. 监控系统准备****二、创建新索引并配置****1. 设计新索引映射****2. 创建读写别名****三、全量数据迁移****1. 执行初始 Reindex****2. 监控 Reindex 进度****四、增量数据同步****1. 方案选择****五、双写切换****1. 修改应用代码实现双写****2. 验证双写一致性****六、流量切换****1. 只读流量切换****2. 验证查询结果一致性****3. 写入流量切换****七、收尾工作****1. 恢复新索引配置****2. 验证性能和稳定性****3. 删除旧索引可选****八、回滚策略****九、优化建议****十、风险控制**一、前期准备 1. 集群健康检查 GET /_cluster/health确保 status 为 greennumber_of_nodes 符合预期unassigned_shards 为 0 2. 备份数据 # 注册快照仓库 PUT /_snapshot/my_backup {type: fs,settings: {location: /path/to/snapshots} }# 创建全量快照 PUT /_snapshot/my_backup/snapshot_1?wait_for_completiontrue3. 监控系统准备 开启 ES 性能监控如使用 Elastic APM、Prometheus Grafana设置关键指标告警如集群负载、JVM 内存、磁盘使用率 二、创建新索引并配置 1. 设计新索引映射 PUT /new_products {settings: {index.number_of_shards: 5, // 与旧索引保持一致index.number_of_replicas: 1,index.refresh_interval: 30s, // 临时调大提升写入性能index.translog.durability: async, // 临时使用异步持久化index.translog.sync_interval: 30s},mappings: {properties: {id: {type: keyword},name: {type: text},price: {type: double}, // 假设原字段为 integercreate_time: {type: date, format: yyyy-MM-dd HH:mm:ss||epoch_millis},tags: {type: keyword}}} }2. 创建读写别名 POST /_aliases {actions: [{ add: { alias: products_read, index: old_products } },{ add: { alias: products_write, index: old_products } }] }三、全量数据迁移 1. 执行初始 Reindex POST /_reindex?wait_for_completionfalse {source: {index: old_products,size: 5000, // 每次查询 5000 条sort: [_doc] // 按文档顺序处理避免遗漏},dest: {index: new_products,op_type: create},script: {source: // 类型转换逻辑if (ctx._source.containsKey(price)) {ctx._source.price Double.parseDouble(ctx._source.price.toString());}// 日期格式转换if (ctx._source.containsKey(create_time)) {try {ctx._source.create_time new Date(ctx._source.create_time).getTime();} catch (Exception e) {// 处理异常日期格式ctx._source.create_time System.currentTimeMillis();}}} }2. 监控 Reindex 进度 GET /_tasks?detailedtrueactions*reindex四、增量数据同步 1. 方案选择 方案 A基于时间戳的定时同步适合有 update_time 字段的场景 POST /_reindex?wait_for_completionfalse {source: {index: old_products,query: {range: {update_time: {gte: {{last_sync_time}}, // 上次同步时间lt: now}}}},dest: {index: new_products} }方案 B基于 Canal 的 binlog 订阅适合 ES 作为 MySQL 从库的场景 # 部署 Canal 客户端 canal.deployer-1.1.5/bin/startup.sh# 配置 canal.instance.filter.regex.*\\..* 监听全量变更五、双写切换 1. 修改应用代码实现双写 在应用层同时写入新旧索引 // 伪代码示例 public void indexProduct(Product product) {// 写入旧索引esClient.index(products_write, product);// 写入新索引带类型转换Product newProduct convertProduct(product);esClient.index(new_products, newProduct); }2. 验证双写一致性 // 对比同一文档在新旧索引中的差异 GET old_products/_doc/1 GET new_products/_doc/1六、流量切换 1. 只读流量切换 POST /_aliases {actions: [{ remove: { alias: products_read, index: old_products } },{ add: { alias: products_read, index: new_products } }] }2. 验证查询结果一致性 // 对比相同查询在新旧索引中的结果 GET products_read/_search?qname:iphone GET old_products/_search?qname:iphone3. 写入流量切换 POST /_aliases {actions: [{ remove: { alias: products_write, index: old_products } },{ add: { alias: products_write, index: new_products } }] }七、收尾工作 1. 恢复新索引配置 PUT /new_products/_settings {index.refresh_interval: 1s,index.translog.durability: request,index.translog.sync_interval: 5s }2. 验证性能和稳定性 监控集群负载验证业务查询性能验证写入吞吐量 3. 删除旧索引可选 DELETE /old_products八、回滚策略 若出现问题可快速回滚 POST /_aliases {actions: [{ remove: { alias: products_read, index: new_products } },{ add: { alias: products_read, index: old_products } },{ remove: { alias: products_write, index: new_products } },{ add: { alias: products_write, index: old_products } }] }九、优化建议 分批次迁移对百万级数据按时间或 ID 范围分批 Reindex避免单次任务过大限流控制 POST /_reindex?wait_for_completionfalse {source: { index: old_products },dest: { index: new_products },requests_per_second: 100 // 每秒处理 100 个请求 }临时扩容迁移期间增加专用协调节点减轻数据节点压力预热缓存迁移后对热点数据执行预热查询自动化脚本使用 Python 脚本编排整个流程 import requests import timedef reindex_with_progress():# 启动 reindexresponse requests.post(http://localhost:9200/_reindex?wait_for_completionfalse,json{source: {index: old_products},dest: {index: new_products}})task_id response.json()[task]# 监控进度while True:status requests.get(fhttp://localhost:9200/_tasks/{task_id}).json()completed status[task][status][completed]total status[task][status][total]print(f进度: {completed}/{total} ({completed/total*100:.2f}%))if status[completed]:breaktime.sleep(5)reindex_with_progress()十、风险控制 灰度发布先迁移部分数据进行验证熔断机制设置错误率阈值超过则自动停止迁移预留资源确保集群有 30% 以上的空闲资源夜间执行选择业务低峰期执行核心操作
http://www.zqtcl.cn/news/38887/

相关文章:

  • 免费平面设计模板网站技能培训班有哪些课程
  • 学院 网站 两学一做往届生做网站编辑
  • 影视网站开发98证书兼职网
  • 网站建设需要什么人员南希网站建设
  • 职业生涯规划大赛项目名称百度seo公司哪家最好
  • 蓝色主题的网站模板管理公司网站建设
  • 用mockplus做网站原型网络营销个人总结
  • 淘宝客自建手机网站wordpress热门文章代码
  • 网站建设设计公司+知乎留学生做留服证明在哪个网站
  • 做搜狗网站优化首揭阳专业的网站建设价格
  • 做网站软件ps建设网站的风险分析
  • wap视频网站网站建设制作文献
  • wordpress搜索条件珠海seo推广
  • 网站关键词 价格生成厦门建设局招聘
  • 昆山建设工程招聘信息网站十大流量平台
  • 如何用域名建网站免费商城网站建设平台
  • 上海网站开发制无锡网站建设电话
  • 网站建设情况说明总结用手机制作动画的app
  • 微信平台微网站开发自己做网站挂广告
  • 中国建设网官方网站e路护航网站内容的编辑和更新怎么做的
  • 成都网站改版案例学习网站建设方案摸摸学校
  • 做网站实验报告网站改版什么意思
  • seo排行榜年度10佳网站原平的旅游网站怎么做的
  • 怎样开发手机网站wordpress 微信缩略图不显示图片
  • 南京企业自助建站系统社保在哪个网站做增员
  • 郑州做网站好如何开通免费网站
  • 宝塔建设网站教程怎样免费做网站视频讲解
  • shopify可以做企业网站嘛网络销售是做什么
  • 没备案的网站怎么做淘客找合作项目的平台
  • ps怎么做网站的首页厦门外贸网站找谁