Repository 模式
从模型的角度看问题。站在调用 Repository 的用户的角度去看待这个东西。
从代码结构来看: Repository -> ORM(Store)
例如 Laravel 中的 Cache 用到的 Store。每个 Store 的存储介质不一样,但提供统一的接口。
从模型的角度看问题。站在调用 Repository 的用户的角度去看待这个东西。
从代码结构来看: Repository -> ORM(Store)
例如 Laravel 中的 Cache 用到的 Store。每个 Store 的存储介质不一样,但提供统一的接口。
执行:pkill -o -USR2 php-fpm
https://stackoverflow.com/questions/37806188/how-to-restart-php-fpm-inside-a-docker-container
For me PID 1 is not always correct (especially after killing it once). What helps ispkill -o -USR2 php-fpm
, because the option -o searches for the oldest process (the master) and kills it.
curl-format.txt
域名解析结束时间: %{time_namelookup}\n
与远程主机建立连接完成时间: %{time_connect}\n
SSL/SSH握手结束时间: %{time_appconnect}\n
数据发送开始时间: %{time_pretransfer}\n
发送结束前所有重定向所需时间: %{time_redirect}\n
接收返回的第一个字节的时间: %{time_starttransfer}\n
----------\n
总耗时: %{time_total}\n
curl -w "@curl-format.txt" -o /dev/null -s "https://www.baidu.com"
Keepalived是一款高可用软件,它的功能主要包括两方面: 1)通过IP漂移,实现服务的高可用:服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一台服务器并对外提供服务; 2)对LVS应用服务层的应用服务器集群进行状态监控:若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则keepalived将其重新加入集群中。
日志打印响应时间:
https://segmentfault.com/a/1190000007903143
https://segmentfault.com/q/1010000004034343/a-1020000004036067
有两种响应时间
问题:Laravel 的配置里面域名只能配置一个,但是现实要求多个域名能够访问。
因此使用 Nginx 做转发。
server {
listen 80;
server_name another-api.mydomain.com;
location / {
proxy_read_timeout 600s;
fastcgi_read_timeout 600s;
proxy_set_header Host api.mydomain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://api.mydomain.com;
}
}
注意 header 里面的 Host 要设置为代理的域名