transaction

為什麼做分散式轉帳交易請求前要先詢問訂單狀態?

單純做一個筆記,因為每次常忘記這個議題,以前做過的一個項目需要跟很多第三方轉帳打交道,每間第三方的API都不一樣,錯誤的 error handing 也不同,舉一個例子下訂單的時候,如果商戶訂單編號相同,這個訂單應該要被第三方拒絕,因為重複下單,被拒絕是沒問題的,但第三方給的錯誤訊息,不一定會告訴你錯誤是因為訂單編號重複,只單純告訴你訂單失敗,這時候就需要每次下訂單前都透過查詢接口詢問要下訂單的號碼是否存在來解決

  • Jason Lee
1 min read
cockroachdb

setup a secure cockroachdb cluster

因為建立 database 的使用者必須是在 secure cluster 下面能建立,所以我們需要先打造一個 secure cluster 先。 去網路上 download windows binary 下來,因為我們會在 windows 的環境產生金鑰 先在 c:\ 下面建立一個 certs 的資料夾,裡面再建立兩個資料夾,分別為 certs 和 my-safe-directory 建立金鑰,後面的流程都會用到這個產生出來的金鑰來建立憑證 $> cockroach cert

  • Jason Lee
1 min read
elasticsearch

Elasticsearch Restore

今天手滑不小心把 production 的 index 刪除了,嚇都嚇死了...幸好平時有做備份,今天剛好臨時演練一下,所以有了這一篇文章,因為我指誤刪了一個 index, 但我平常備份是整個 cluster 備份,所以這本是從 cluster 的完整備份檔取一個 index 來做還原。 首先需要把你的 index 先 close,之後再進行還原,當 Elasticsearch 還原好之後,它會自動把 index 打開 POST /index-xxx/_close

  • Jason Lee
1 min read
docker swarm

回復 docker swarm

如果遇到一些問題需要用原本某台 manager 裡面的資料來重建 docker swarm cluster的話,可以在 manager 節點上輸入 docker swarm init --force-new-cluster ,這如果資料不再這個節點上面將會遺失掉,所以建議找有 service 跑在上面的節點,這樣有些重要的資訊才會被同步過去。如果發現某個 manager node 的節點的 status 是 down 的話,建議可以先把該 node 移除再從新 re-join 看看

  • Jason Lee
1 min read