Skip to content

Instantly share code, notes, and snippets.

View philipz's full-sized avatar

philipz philipz

View GitHub Profile

BPMN Process Engine Landscape Analysis

The BPMN process engine market spans mature commercial platforms, vibrant open source projects, and innovative emerging solutions. This analysis examines 25+ engines across technical capabilities, enterprise readiness, and architectural approaches, revealing significant innovation in cloud-native and microservices-oriented designs while highlighting persistent challenges in full BPMN 2.0 specification compliance.

Commercial BPMN engine powerhouses

Market leaders with distinct positioning

Camunda Platform leads the cloud-native transformation with its Zeebe engine, achieving horizontal scalability through distributed architecture without central database dependencies. The platform processes hundreds of thousands of workflow instances per second while maintaining enterprise-grade reliability. Version 8.6 (October 2024) introduced significant enterprise licensing changes, requiring commercial licenses for production use.

@philipz
philipz / USER_MANUAL.md
Created June 28, 2025 16:05
SuperClaude 使用手冊
@philipz
philipz / CloudNativePG_AA.md
Created June 26, 2025 05:25
CloudNativePG: Dual-Center High Availability Architecture and Zero Data Loss Synchronization Mechanism

CloudNativePG 雙中心高可用性架構與無資料遺失同步機制

CloudNativePG 透過主備架構實現企業級 PostgreSQL 高可用性部署,雖然不支援真正的雙活架構,但提供快速故障轉移的主備模式,可達成 RPO ≤ 5 分鐘的災難復原能力。作為 Kubernetes 原生的 PostgreSQL 運算子,CloudNativePG 利用 PostgreSQL 內建的同步複寫機制,實現無資料遺失的資料同步,同時提供自動化的生命週期管理和故障恢復能力。

CloudNativePG 核心架構與基本概念

CloudNativePG 是專為 Kubernetes 環境設計的 PostgreSQL 運算子,採用完全雲原生的設計理念。該系統使用主備(primary/standby)架構,結合 PostgreSQL 原生的串流複寫技術,而非依賴外部工具如 Patroni 或 repmgr。核心組件包括 CloudNativePG 控制器管理器、實例管理器(Instance Manager)和多個自定義資源定義(CRDs)。

控制器管理器部署在 cnpg-system 命名空間中,負責整體集群的生命週期管理。實例管理器作為每個 PostgreSQL Pod 的 PID 1 執行程序,直接管理 PostgreSQL 程序的啟動、監控和故障恢復。系統透過 Cluster、Backup、ScheduledBackup、Pooler 等 CRDs 提供聲明式配置介面。

@philipz
philipz / README.md
Created June 24, 2025 13:43
如何在 Node.js 的 中使用本地套件

如何在 Node.js 的 package.json 中使用本地套件

在 Node.js 專案開發中,有時您會需要使用本地開發中的套件版本,而不是從 npm 註冊表安裝的公開版本。這在以下情況特別有用:

  • 您正在開發一個新的套件,並希望在另一個專案中測試它。
  • 您正在修復一個套件中的錯誤,並希望在您的專案中驗證修復。
  • 您需要對現有套件進行客製化修改,並在您的專案中使用該修改版本。

以下是幾種將 package.json 中的套件指向本地版本的方法:

@philipz
philipz / launch.json
Created June 11, 2025 15:35
VSCode debug MCP launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug with MCP Inspector",
"type": "node",
"request": "launch",
@philipz
philipz / ip-ranges.sh
Created June 6, 2025 14:52
Get AWS IP Ranges
#!/bin/bash
curl -o ip-ranges.json https://ip-ranges.amazonaws.com/ip-ranges.json
echo "Please input the service:
Valid values: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CLOUDFRONT_ORIGIN_FACING | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS"
read -r service
echo "Please input the region:
Valid values: ALL | ap-east-1 | ap-northeast-1 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | ap-southeast-1 | ap-southeast-2 | ca-central-1 | cn-north-1 | cn-northwest-1 | eu-central-1 | eu-central-2 | eu-north-1 | eu-south-1 | eu-south-2 | eu-west-1 | eu-west-2 | eu-west-3 | me-central-1 | me-south-1 | sa-east-1 | us-east-1 | us-east-2 | us-gov-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL"
@philipz
philipz / shell.md
Created March 5, 2025 02:16
在Shell中查詢聯外IP

export CLOUD_SHELL_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)

@philipz
philipz / readme.md
Created August 29, 2024 14:13
Camunda Run with cockpit-plugins

Refer: datakurre/operaton-cockpit-plugins#16

docker buildx build --push --platform linux/arm64,linux/amd64,linux/amd64/v2 -t philipz/camunda-cockpit-plugins:7.21.0 .

FROM camunda/camunda-bpm-platform:run-7.21.0

USER root
RUN apk add --no-cache git zip
USER camunda
@philipz
philipz / postgres.yaml
Last active May 22, 2024 15:50
Camunda 7 Helm install
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-deployment
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: postgres
@philipz
philipz / readme.md
Created January 18, 2024 01:50
Kind config for ingress and volume
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraMounts:
  - hostPath: /Users/YOURNAME/lab/kind
    containerPath: /home/kind
  extraPortMappings:
 ## expose port 31080 of the node to port 80 on the host