0%

Linux 环境

安装 oracle-instantclient

下载

阅读全文 »

1
2
https://segmentfault.com/a/1190000013757098
https://studygolang.com/articles/27226

目的

  • 不关闭现有连接(正在运行中的程序)
  • 新的进程启动并替代旧进程
  • 新的进程接管新的连接
  • 连接要随时响应用户的请求,当用户仍在请求旧进程时要保持连接,新用户应请求新进程,不可以出现拒绝请求的情况

流程

  • 1、替换可执行文件或修改配置文件
  • 2、发送信号量 SIGHUP
  • 3、拒绝新连接请求旧进程,但要保证已有连接正常
  • 4、启动新的子进程
  • 5、新的子进程开始 Accet
  • 6、系统将新的请求转交新的子进程
  • 7、旧进程处理完所有旧连接后正常结束

以下内容引用

阅读全文 »

selectswitch 有个共同特性就是都通过 case 的方式来处理,但是 select 跟 switch 处理的事情完全不同,也完全不相容。

switch

特性:

  • 1.各种类型及型别操作,接口 interface{} 型别判断 variable.(type)
  • 2.会依照 case 顺序依序执行
阅读全文 »

缓存更新问题

缓存是高并发业务的基石,当访问量突然上升的时候,缓存失效回源时会将请求打到后台数据库,导致服务器响应延迟或者宕机的情况。

通常缓存更新方案:

  • 1.业务代码中,根据key从缓存拿不到数据,访问存储层获取数据后更新缓存
  • 2.由专门的定时脚本在缓存失效前对其进行更新
  • 3.通过分布式锁,实现只有一个请求负责缓存更新,其他请求等待:一种基于哨兵的缓存访问策略

通常获取缓存这样写:

1
2
3
4
data = getCache(key)
if !data {
data = selectDB(key)
}
阅读全文 »

问题

项目中遇到的一个问题,项目运行一段时间后CPU使用率会逐步上升到100%,导致系统异常,排查是在Ticker上使用出现错误,网上也有类似的案例:在使用Tikcer后没有释放导致。在此做下记录。

阅读全文 »

拉取镜像

https://cr.console.aliyun.com/images/cn-hangzhou/oracle11-helowin/oracle11-helowin/detail?accounttraceid=24cfa63bff0f483db7d63268686a7a32yabl

1
2
3
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker tag registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g oracle_11g
docker rmi registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11
阅读全文 »

在DB2客户机上连接远程DB2服务之前,必须正确设置服务端通信协议。DB2支持的协议有TCP/IP、NetBIOS、NPIPE等。

基本分成2步:

  1. 在客户机上对远程DB2节点进行设置。
  2. 在客户机上对远程数据库进行设置。
阅读全文 »