Vernemq Notes
Vernemq 是個 open source 的 MQTT broker,以 open source solution 來說算是功能還蠻不錯的選擇,東南亞的獨角獸gojek也有在用這套mqtt solution。 最近有遇到一些問題,順便做點筆記
Vernemq 是個 open source 的 MQTT broker,以 open source solution 來說算是功能還蠻不錯的選擇,東南亞的獨角獸gojek也有在用這套mqtt solution。 最近有遇到一些問題,順便做點筆記
遇到的情況是要在 ubuntu 機器上 mount 非 public access 的 gcp storage bucket,然後要給 php web api 做讀寫。
雖然最後算算價格跟考慮使用情境應該不會採用這樣的 solution,但還是來記錄一下。
主要是使用 gcsfuse 這個工具,還有就是使用 Google\Cloud\Storage\StorageClient 這個套件
預設 gcp instance 是只能用 ssh key based 登入,而如果沒有幫 root 帳號(或者要執行 rsync 的帳號)產生 ssh key,那等於無法使用 rsync 這個命令。
其實還蠻簡單的,比較麻煩的反而是在產生 access key 這個部份,只能說 alibaba 的 document 有點難找 安裝與簡單的範例 安裝 sdk 可以直接到 https://github.com/aliyun/aliyun-oss-php-sdk下載。我自己是用 composer 裝完,可以在工作目錄的 vendor/aliyuncs/oss-sdk-php/ 底下找到 autoload.php 加到 php file 當中。開始使用的時候基本上只要 use OSSOssClient 與 OSSCoreOssException 這兩個 class 就差不多通吃了,下面這段是從 samples/ 目錄裡面的範例做修改的,可以作為參考。 <?php require_once ‘../vendor/aliyuncs/oss-sdk-php/autoload.php’; use OSSOssClient; use OSSCoreOssException; $accessKeyId = “YOUR_ACCESS_KEY_ID”; $accessKeySecret = “YOUR_ACCESS_KEY_SECRET”; $endpoint = “oss-cn-hongkong.aliyuncs.com”; $bucket = “YOUR_BUCKET_NAME”; try { /* build connection */ […]
這篇文章整理得很好,把落落長的 gitlab 官方文章變得精簡許多。
Alibaba cloud (aliyun) 上頭也有類似 gcp 的儲存服務,叫做 Object Storage Service (OSS),對於不常變更的檔案儲存算是便宜的選擇。
很多人都知道之前 gitlab 裏頭的工程師不小心 rm -rf 的事件,所以當然要做好備份。 在 google cloud 的機器可以乾脆直接寫 crontab 定期做 snapshot,不過這樣的方式也不能防止手殘砍掉負責跑這 crontab 的 instance 就是了 XD #!/usr/bin/env bash export PATH=$PATH:/usr/local/bin/:/usr/bin #create snapshot echo “$(gcloud compute disks snapshot my-webserver –snapshot-names=www-$(date “+%Y%m%d”) –zone=asia-east1-c)” #get snapshot list SNAPSHOT_LIST=”$(gcloud compute snapshots list –regexp “(.*www-.*)” –uri)” echo “${SNAPSHOT_LIST}” | while read line ; do # get the snapshot […]
這邊的使用情況是要把 gcp sql 的 import 到 aliyun 去