遇到过的几个难搞的问题

1,docker 导致远程ssh登录不上

远程 服务器 docker 容器启动 gitlab ,占用 22 端口。ssh 登录的时候,直接通过22 链到容器,然后容器返回一个publicKey,本机做记录。但是 gitlab 容器的ssh 又设置为不允许 账号密码登录,所以就一直permission deny,,,。

2,RN注入代码在页面之前执行的问题

RN :web view注入代码,在webview 的js代码执行之前执行。
这个问题,用webview 自带的js注入接口,或者第三方webview库自带的js注入接口都是不行的,这样会异步执行,注入代码,和自带代码的执行是异步的,所以出结果的先后顺序是无法预料的。所以达不到“之前”的效果。
这样,可以在java代码里获取webview的模板,找到其head 节点,把注入的代码加进去。

3,扩展prometheus

k8s 环境 使之可自动配置 告警规则和接收人。
界面增删改数据库,数据库取数据拼成 prometheus,alertmanager配置文件,调用k8s接口 更新两个组件对应的configmap,从而更新其配置文件。

4,session更新失效。

macaron 的 session + redis + websocket 导致session 偶发性更新失效
ws长连接,保存了一个session; 当链接断开的时候,Sessioner中间件会调用release函数,更新到redis。
此时,一个会导致,session更新,且前端刷新页面的操作发生。则 先更新session,写到redis,ws后断开链接,触发中间件;又把原来的session 写回redis。从而使更新无效。

posted @ 2018-11-30 20:24  名白  阅读(216)  评论(0编辑  收藏  举报