记一次扩容

前言

随着公司业务的发展,紧跟时代潮流,作为服务支撑的技术侧也迎来了更大的挑战。

正文

应用的大致扩容流程大概是:
申请机器(注意机房等问题) -- 部署应用 -- 加自动化部署,监控等 -- 申请各种权限(主要是网络权限) -- 启动应用(观察权限是否有遗漏) -- 灰度发布(继续验证) -- 挂一个节点(分流部分流量) -- 验证没问题再挂全部节点

上面的流程,对于不同的公司来说可能也不太一样,就不细说了,这里主要说一下,从申请权限到启动应用的过程中遇到的问题。

问题一:白名单问题

问题描述:
在确认网络权限打通的情况下,telnet ip port 仍然不通,这个时候就需要考虑防火墙和白名单的问题了。推进排查细节就不详细描述了,确实是经过了一番波折,这里记录一下,仅供参考。我这边最后排查出来的原因确实是对端存在白名单的原因。

问题二:oracle库连不上的问题

首先老项目中使用的应该是 oracle rac的 scan ip, 咨询了DBA,他建议我申请cluster中所有节点的网络权限,然后告诉了我所有节点的ip;
但是我申请完之后,发现项目启动的时候还是报错java.net.SocketTimeoutException: connect timed out

这里主要说一下排查的思路:

  1. 首先 netstat 或者 ss 命令去看一下项目启动的时候 tcp的连接情况: netstat -ant | grep 1521
  2. 我这边发现本地在尝试和两个未知ip的1521端口建立tcp连接,这两个连接是DBA之前没有告诉我的,我也没有申请对应的网络权限,而且这些tcp连接的状态都是 SYN_SENT;
  3. 联系了一下DBA,说明了一下现象,他说这两个是对应的物理IP,忘了告诉我了;
  4. 申请了这两个ip的网络权限,解决
posted on 2021-05-18 10:57  斜月三星一太阳  阅读(56)  评论(0编辑  收藏  举报