Kenny's Blog

這是Kenny's technology blog,歡迎交流_(:3」∠)_

0%

延續上次 Postgres Stream Replication 的筆記,這次來講講 pgpool-ll,這個東西可以想成是 postgres 的 proxy,並且可以做到 load balance 的效果。

在升級 Postgres 的版本之前,如果你的 Postgres 前面有掛 pgpool-ll,那麼升級後,就必須去更改 pgpool-ll 的設定,因此這邊決定會先來幾篇文章講講 pgpool-ll 的相關設定。

閱讀全文 »

今年是 2023 年,想說來回顧一下,去年 2022 年的寫筆記到現在的回顧。

閱讀全文 »

上次提到 pg_upgrade 可以快速 upgrade 單台的 Postgres Server,最後結尾有提到要如何針對 PG Cluster 做升級。這篇先不講,先來記錄一下如何快速在 PG 建立起 cluster 並且採用 physical replication。

這樣下篇文章才可以來講講如何快速針對 PG Cluster 做升級。

閱讀全文 »

最近在研究如何快速對 Postgres 進行升版,之前有聽過透過 Logical Replication 的方式來進行升版,但後來發現 Postgres 官方有推出 pg_upgrade 工具可以 in place 的快速升級 Postgres,並且保證盡可能向下相容,且支援跨主版本的升級。

因此這篇文章就來講講 pg_upgrade 這個工具怎麼使用。

閱讀全文 »

在今年 2022 Google I/O 上, Google 宣佈了新的 AlloyDB For Postgres 新產品,AlloyDB 是與 Postgres 完全相容的 database,是拿 Postgres 的 Source Code 加以改良性能,使得可以應付 enterprise-grade transactional and analytical workloads

該篇文章的筆記是來自於閱讀 AlloyDB intelligent, database-aware storageAlloyDB Columnar engine 兩篇文章的。

閱讀全文 »

今天來記錄一下 logical replication 實際 demo 的方式,之後會先出一系列實際架設各種 Postgres 內的功能來玩玩。

閱讀全文 »

今天來講講 Google Cloud 之前發布的一系列文章:Kubernetes best practices,我也是無意中看到,但我覺得寫得滿好的,也是值得筆記的。這篇文章的主題是關於為什麼 build small container images 這件事情很重要且它的好處是什麼。

以下的 build image 的 example 都放在 GitHub 上:https://github.com/KennyChenFight/build-small-image

閱讀全文 »

今天要談談的是 golang test file 的 package 要在 internal 還是要放在 external 上?所謂的 internal 跟 external 指的是,你的 test file 是否要放在你要測試的程式碼的同一個 package 下,還是應該放在另外一個 package 上,例如 xxx_test package。

這兩者選擇時機點有點不太一樣,有什麼好處跟壞處呢?今天就來探討一下。

閱讀全文 »

今天來講講 delayed task (延遲任務) 的 system design,有哪些方法以及每個方法的適用場景。延遲任務我想應該是常見的需求,舉例來說 CronJob 其實也是延遲任務的一種,只是可能 Cronjob 就是在固定的時間點做同一件事情這樣。那麼本文章的延遲任務指的是,今天有許多 task 是可以設定不同的時間點去執行的,就像是月曆上面可以設定你之後每天的行程是一樣的概念。再延伸想,當你排定好的行程快到了,像是 Google Calendar 就會在十分鐘前提醒你該行程快到了,這也是延遲任務的一種概念。

閱讀全文 »

今天的主題來談談 Golang 的 project layout 的各種形式。所謂 project layout 指的就是基於 Golang 的專案架構,要知道官方是沒有宣布或是規定怎樣的專案架構。造成社群中大家對 Golang 的 project layout 可能看法都不同,因此我也記錄一下我自己選擇 project layout 的思路。

也會介紹社群中應該最為人所知的:https://github.com/golang-standards/project-layout

閱讀全文 »