文档中心 > 常用工具

中间件自助运维手册

更新时间:2020/03/11 访问次数:2628

摘要

本手册对中间件架构、运行环境、主要配置文件、系统数据录入方法等进行了介绍,说明了主要运维工作的原理,已经常见问题的处理方法。

中间件架构

中间件本身的架构说明参考此文档,主要包含了2部分:中间件应用服务、数据库服务。

业务模块介绍

中间件包含了:商品,交易,店仓,营销的四个模块的逻辑处理,具体介绍参考这里。路径是:开发文档->中间件接入(首推)。

部署说明

环境要求说明

  1. 操作系统:
    • OS版本要求:Linux服务器,64位的系统,可以是centos的稳定版本,也可以是Redhat的。
    • cpu:最低要求8核。
    • 内存:最低要求16G。
    • 硬盘:最低500G。
  2. jdk的版本:jdk1.8以上64位。
  3. tomcat版本:使用的Apache Tomcat/7.0.56以上。

部署结构

部署结构如下图所示:

  1. 中间件的所有文件都放在/root/hema这个目录。
  2. 中间件文件夹下的文件说明:
    • bin:存放应用启动、停止和备份的脚本文件,以及jdk和tomcat的软件包。
    • deploy:存放当前部署的应用包
    • logs:存放应用的日志文件
    • backup:存放部署的应用包的备份版本,用于快速恢复(当最新的代码有问题的时候可以快速恢复)。当应用重新发布之后deploy下面当前部署的应用包就会移动到backup目录下,deploy下会部署最新的应用包。
    • old:用于备份整个中间件,不需要关心
    • setup:setup.tar.gz文件解压出来的文件用于初始化中间件使用的环境,初始换完之后就没用了。setup的步骤是,执行setup目录下的setup.sh脚本
    • wormhole.war每次应用发布的时候会覆盖此文件,用于发布新的应用包

部署

  1. 中间件环境初始化:解压setup.tar.gz,会解压到setup目录,然后执行这个目录下的setup.sh脚本
  2. 启动:执行bin目录下的sh tomcat.sh start
    • 启动完看应用是否启动成功:执行bin目录下的sh preload.sh,如下图所示
  3. 停止:执行bin目录下的sh tomcat.sh stop

日志说明

日志包含以下几块,如下图所示: 

对每个日志的说明:(不加日期的是当前在用的日志文件,加日期的是对应日期的全天的日志)

  1. wormhole.log:应用主日志,应用的错误日志,异常日志,db的一些日志等都会打到这个里面,是排查问题的主要日志。
  2. alibaba-top.log:开放平台接口请求的日志,有请求的入参,也有返回的响应。主要目的是在排查请求top接口错误的时候使用,比如:排查问题时需要提供原始请求top接口的入参的话就可以从这里捞取日志。
  3. wormhole-audit:日志主要目的是为了监控使用,开放平台会监控每个服务的运行是否正常。
  4. tomcat目录:存放了tomcat的启动日志,如果系统不能正常启动的话用于排查具体原因。

数据库维护

在系统启用后,不可避免的会产生大量的业务数据和日志文件,因此既要保证业务数据的安全性,又要保证不因数据量过大挤占服务器的存储空间,保证应用程序和数据库表的交互不受影响,对此作出如下措施:

1、中间件程序,在每日凌晨1点到当日7点,会对数据库进行表备份 ,命名为bak_原表,删除原数据表中3个月前的内容。

2、商家侧需要关注表空间大小,当空间不足请实时扩充。

常见问题自助排查步骤

数据不更新

表象:数据没有同步到ReX平台(比如:商品数据),或者从ReX平台没有把数据拉下来(比如:订单数据)

可能的原因:

  1. 授权过期:

    • 原因:因为授权有个有效时间,过了这个有效时间之后请求接口就会失败。看alibaba-top.log日志。
    • 解决方案:让当时生成正式商家的session的同学重新登录一下以下地址: http://oauth.hemaos.com/authorize?responsetype=token&sp=hema&op=topApp&clientid=商家自己的appkey。重新登录之后即可
  2. 出现异常:

    • 原因:比如调用top接口失败,或者网络问题,或者字段长度超过了db的设置的长度,或者db链接不上,或者db磁盘满了等等。
    • 解决方案:看wormhole.log里面是否有Exception关键字。然后看一下完整的堆栈信息。若是日志不再打印,查看下磁盘使用情况:磁盘空间满,可删除部分历史早期文件;磁盘空间未满,可尝试重启tomcat(sh tomcat.sh start)
  3. 数据不能同步到ReX平台:

    • 表象:比如:商品数据没有同步到ReX平台,营销设置不能同步到ReX平台等等
    • 解决方案:可能是数据错误,对于数据同步到ReX平台的在表里面都有status和errmsg可以看一下具体的errmsg看失败的原因。
  4. 数据不能从ReX平台同步到中间件

    • 表象:比如:订单数据没有同步下来。
    • 解决办法:需要从wormhole.log,alibaba-top.log看一下接口调用是否正常,然后看数据是否写入db正常。

其他异常问题

看wormhole.log和alibaba-top.log里面有没有异常信息,wormhole.log里面搜索Exception异常关键字,alibaba-top.log里面看调用是否有错误的返回。

常见案例

待填充

FAQ

关于此文档暂时还没有FAQ
返回
顶部