swig使用-go调用c++ Posted on 2019-10-11 | 通过swig可以将c/c++的接口导出,然后go可以直接调用 一个例子123MacBook-Pro-4:~ zhangshihua$ go get github.com/zacg/simplelibcan't build package github.com/zacg/simpleli ... Read more »
cgo使用笔记 Posted on 2019-09-29 | go如何调用c和c++.主要参考:https://chai2010.cn/advanced-go-programming-book/ch2-cgo/readme.html 语法1234567891011121314package rand/*#include <stdlib.h>*/ ... Read more »
GO程序平滑升级 Posted on 2019-09-21 | 平滑升级或者优雅升级或者优雅重启的目的是不影响当前正在执行请求的情况下实现升级或者重启.上一讲我们说了NGINX的平滑重启,本文以gracehttp说明GO的优雅升级. 两个关键步骤我们以两个例子来说明平滑升级的两个关键节点: 如何让新的进程能够监听并且执行请求 如何让旧的进程不再接收请求 ... Read more »
NGINX 平滑升级 Posted on 2019-09-17 | 平滑升级或者优雅升级或者优雅重启的目的是不影响当前正在执行请求的情况下实现升级或者重启 平滑升级步骤 备份旧的二进制文件,然后将新的二进制文件覆盖旧的二进制文件 向nginx master pid发送USR2信号 1kill -USR2 nginx-master-pid 此时nginx ... Read more »
Nginx499原因探查2 Posted on 2019-09-11 | nginx配置增加如下nginx配置: 123log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $b ... Read more »
Nginx499原因探查 Posted on 2019-09-07 | 499为客户端请求超时主动断开后,NGINX日志中记录的状态码.笔者线上遇到一个问题,NGINX日志记录499,request_time记录为1s左右(即客户端的超时时间),php-fpm层记录的实际处理时间为10-20ms,产生了不一致,通过文章中的实验验证一下问题出自哪里. WRK安装环境如 ... Read more »
ORM快速入门2 Posted on 2019-09-04 | 本文通过Laravel的illuminate来说明如何实现一个ORM 概述一个ORM的实现一部分是连接,一部分是sql语句的生成,我们逐一讲解 连接illuminate中连接选取涉及到了如下class: php框架初始化时会首先实例化一个Illuminate\Database\Capsule\ ... Read more »
ORM快速入门 Posted on 2019-09-03 | 本文通过Laravel的illuminate来说明如何实现一个ORM ORM写法首先定义class A如下: 123456789101112use Illuminate\Database\Eloquent\Model as Model;class A extends Model{ ... Read more »
grpc-go源码解析7-keepalive Posted on 2019-08-15 | 分析服务端keepalive实现 概览如下是服务端keepalive配置 12345678910111213141516171819var kaep = keepalive.EnforcementPolicy{ MinTime: 5 * time.Second, ... Read more »
grpc-go源码解析6-keepalive Posted on 2019-08-15 | 分析客户端keepalive实现 概览grpc客户端客户可以配置keepalive,具体配置如下 1234567var kacp = keepalive.ClientParameters{ Time: 10 * time.Second, // send p ... Read more »