对象存储使用
上传流程
文件上传分为客户端上传(主要是指网页端和移动端等面向终端用户的场景)和服务端上传两种场景,具体可以参考文档业务流程。
服务端SDK在上传方面主要提供两种功能,一种是生成客户端上传所需要的上传凭证,另外一种是直接上传文件到云端。
客户端上传凭证
客户端(移动端或者Web端)上传文件的时候,需要从客户自己的业务服务器获取上传凭证,而这些上传凭证是通过服务端的SDK来生成的,然后通过客户自己的业务API分发给客户端使用。根据上传的业务需求不同,七牛云 Go SDK支持丰富的上传凭证生成方式。
拷贝
// 存储相关功能的引入包只有这两个,后面不再赘述
import (
“github.com/qiniu/go-sdk/v7/auth/qbox”
“github.com/qiniu/go-sdk/v7/storage”
)
accessKey := “your access key”
secretKey := “your secret key”
mac := qbox.NewMac(accessKey, secretKey)
简单上传的凭证
最简单的上传凭证只需要AccessKey,S ...
vue nginx运行
注:这里开始认为各位都会使用nginx
打包vue项目
1npm run build
测试打包的项目是否可以运行
1serve dist
可以正常运行
编译报错请移步到:renren-fast-vue@1.2.2 项目编译报错: build gulp
部署vue项目到nginx
接下来将renren-fast-vue 项目生成的dist 目录修改为:renren-fast-vue 并压缩为:renren-fast-vue.zip
复制renren-fast-vue.zip 到服务器
解压到:/usr/local/nginx/
vue项目的nginx配置文件不直接在nginx.conf中进行配置,将配置保存在/usr/local/nginx/conf/vhost/renren-fast-vue.conf
配置内容为:vi /usr/local/nginx/conf/vhost/renren-fast-vue.conf
1234567891011121314151617181920212223server { listen 7000; se ...
Go抢占式调度
2.6 抢占式调度
2.6.0 sysmon监听抢占时机
sysmon是一个Go里面的一个特殊的线程,不与任何P绑定,不参与调度,主要用于监控整个Go进程,主要有如下作用:
释放闲置超过5分钟的span物理内存
超过2分钟没有垃圾回收,强制启动垃圾回收
将长时间没有处理的netpoll结果添加到任务队列
向长时间执行的G任务发起抢占调度
收回因syscall而长时间阻塞的P
sysmon线程在runtime.main函数里面创建:
123456789101112func main() { ... if GOARCH != "wasm" { // no threads on wasm yet, so no sysmon // 启动sysmon的代码 // 在系统栈内生成一个新的M来启动sysmon atomic.Store(&sched.sysmonStarting, 1) systemstack(func() { newm(sysmon, nil, ...