/
Info 后端服务迁移整理

Info 后端服务迁移整理

本文信息为锁老师交接的相关文档,时间为2023年1月份,背景为从一个AWS账户迁移到另外一个AWS账户,其操作均由锁元老师完成,其中有些信息仅供参考。

==============

 

结构


info站的数据是在scan索引数据时做了一些统计,记录到pg数据库;然后通过api提供给前端。

  1. 前端代码:https://github.com/Elements-Studio/info-starswap

  2. 接口代码:(可以迁移到Elements-Studio组织下)https://github.com/fountainchen/swap-stat-api

  3. 数据索引:https://github.com/MoveScan/StcScan ,这块是跟scan索引数据起了一些独立的handle来为swap统计定制数据

  4. db数据库:目前用的postgresql存储,每个网络一个schema,建表语句:
    https://github.com/MoveScan/StcScan/tree/main/starcoin-indexer/deploy/create_table.sql

 

迁移回退到老账号流程

1、先在老的账户下创建pg的db,将新账号下:starswap-info 库整个迁移回去
2、在老账户下,将原stcscan的indexer的配置改成第一步的新建实例
kube/indexer/下 database-swap.czftx6muneg7.ap-northeast-1.rds.amazonaws.com 这个免费实例改成新的
3、前两步数据索引正常执行,在老账户下启动接口部分的服务
改下db配置,直接apply deploy/kube/swap-stat-api-deployment.yaml
4、将前端的访问的域名改到第三步启动的服务上完成迁移

迁移流程详细checklist:

  1. 在老账户下开通info的库,建role和db
    psql -U postgres -h database-1.c0bz9kehdvnb.ap-northeast-1.rds.amazonaws.com
    CREATE ROLE starcoin WITH PASSWORD '{password}' CREATEDB CREATEROLE LOGIN;
    GRANT rds_superuser TO starcoin;
    grant starcoin TO postgres;
    create database starcoin owner starcoin;

  2. 停止新账户的索引服务,这样新的数据不会再写入。
    kubectl -n starcoin-main delete deployment starswap-info-deployment

  3. 将info库导出到文件
    (1)、在k8s的宿主机上操作:(需要检查是否有pg命令,访问info库的权限)
    pg_dump -U starcoin -h starswap-info.czftx6muneg7.ap-northeast-1.rds.amazonaws.com -d starcoin > info20230112.sql
    (2)、将文件压缩传到跳板机
    (3)、从新账户跳板机传到旧账户跳板机
    (4)、传到K8s的宿主机(需要检查是否有pg命令,访问info库的权限)
    psql -U starcoin -h starswap-info.czftx6muneg7.ap-northeast-1.rds.amazonaws.com -d starcoin < info20230112.sql

  4. 启动api服务:在swap-stat-api项目中修改配置到第一步的新库地址:
    https://github.com/fountainchen/swap-stat-api/blob/master/deploy/kube/swap-stat-api-deployment.yaml
    kubectl apply -f deploy/kube/swap-stat-api-deployment.yaml
    验证接口是否正常?
    部署服务:kubectl apply -f deploy/kube/service-swap-stat-api.yaml

  5. 启动indexer服务
    在StcScan项目中,恢复swap_transaction,swap_stats,price_hour,price_stat,swap_pool_fee_stat这几个job的配置
    kubectl apply -f starcoin-indexer-swap-main-deployment.yaml
    修改所有indexer的db配置,重新apply一下

    kubectl apply -f starcoin-indexer-barnard-deployment.yaml kubectl apply -f starcoin-indexer-main-deployment.yaml kubectl apply -f starcoin-indexer-halley-deployment.yaml kubectl apply -f starcoin-indexer-proxima-deployment.yaml 查看日志是否正常?
  6. 切换api的域名指向新的service

    1. 更改dns地址解析

    2. kubectl get service 获取service的aws域名

 

Related content

Starcoin Offchain 服务文档
Starcoin Offchain 服务文档
More like this
dave
dave
More like this
Starcoin Scan 区块浏览器
Starcoin Scan 区块浏览器
More like this
v1.12
v1.12
More like this
快照导出为什么只导了几个ColumnFamily
快照导出为什么只导了几个ColumnFamily
More like this