三方平台对接

第三方平台对接

同步沃尔玛店铺中的订单信息到公司的系统中。

1.1 获取授权

授权方式:

1.2 同步订单

1.3 部署流程(手动):

1、将项目打成jar包以及Dockefile文件后上传至目标服务器;

2、构建docker镜像

3、构建docker容器

4、运行容器

(2,3,4步写成shell脚本,在服务器上运行脚本即可完成部署)

线上问题复盘

问题1:

原有的issues表中没有添加ai_platform字段,导致程序报错,影响后续流程。

分析1:

缺少数据迁移文件。

我扒了我所有的提交记录,发现自己并没有提交修改表的migrate文件!

修改表的正规操作:

  • 1、先通过命令创建migrate文件;

例:generate migration AddAiPlatformToIssues ai_platform:string

  • 2、编辑migrate文件
  • 3、执行db:migrate 命令后才会真正修改数据库

注意点:

  • 提交代码时,一定要提交migrate文件!!!
  • 不要通过图形工具直接去修改数据库中的表!!!

线上与我相关的相关的问题大致就以上这点,因为主要的流程并不在我这里。

开发问题复盘

问题1:

网络访问问题:本地测试的好好的,一部署就出问题?

分析1:

部署在AWS上的服务器之间都是通过内网访问的,通过外网访问不到!!

而在本地的办公网络访问不到内网,只能用外网ip做测试。

例如:在服务器上发起http请求

这种网络访问的问题之前确实没遇到过,之前的工作只有crud,写写对外的接口,在提供对内调用的接口时确实要注意内外网的问题,属于低级错误了!

问题2:

线上服务调不通:

分析2:

先上一张部署图,

吸取内网外网调用的问题后,确认是通过内网ip在进行调用。在测试服务器上分别调用两台机器的服务,发现都能够调通,将问题缩小为问题出现在了负载均衡服务器的配置上,请教运维后,发现是端口映射出了问题,负载均衡服务器只对外暴露了80端口,在docker中容器的8888端口与宿主机的80做映射
docker run -p 80:8888 --name shulex-tag-app:shulex-tag-app:latest -d

ok,问题解决。

问题3:

一个不是问题的问题?

分析3:

在进行ai_issues表插入的时候遇到回滚,当时就认为是自己程序的问题,完全没结合具体的业务去分析问题,

Optional 参数:来自官方文档的解释

ai_issues表中的tag_id也就是对应这里的tag,是不能为空的!所以在插入时必须去验证tag对象是否存在,为空就插入不了。就应该回滚!

注意:

分析问题时请不要脱离业务!!

bug解决

解决maven依赖冲突

报错信息:

NoSuchMethidError一般就是版本冲突了,通过maven命令mvn -Dverbose dependency:tree找到冲突的包,排除掉即可。

排除mysql中的即可: