返回全部 Skills

tech-matrix

研究分析

Reference document for monopoly tech-matrix.

3

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add sickn33/antigravity-awesome-skills --skill tech-matrix

skill.md

name: tech-matrix
description: Reference document for monopoly tech-matrix.
source: community
risk: safe
reports-to: monopoly

MONOPOLY — Technology Decision Matrix

When to Use

  • Use this skill when the task matches this description: Reference document for monopoly tech-matrix.

Table of Contents

  1. Database Selection
  2. Cache Selection
  3. Message Queue / Event Streaming
  4. API Protocol
  5. Search Engine
  6. Object Storage
  7. Container Orchestration
  8. Load Balancer
  9. Observability Stack
  10. CDN

---

1. Database Selection

Relational (SQL)

DatabaseBest ForAvoid WhenScale Ceiling
PostgreSQLComplex queries, JSONB, GIS, strong consistency, most default use casesUltra-high write throughput (>100K writes/s)~10TB single node; use Citus for horizontal
MySQL / MariaDBRead-heavy apps, legacy systems, WordPress/Drupal ecosystemComplex queries, full ACID at scale~10TB; use Vitess for sharding
CockroachDBGlobal distributed SQL, geo-partitioning, multi-regionSimple single-region apps (overkill)Petabyte-scale
PlanetScaleMySQL-compatible, serverless, branch-based workflowComplex JOINs (foreign keys removed by design)Very high — Vitess based
Amazon AuroraAWS-native apps, managed PostgreSQL/MySQL, high availabilityNon-AWS environmentsUp to 128TB, 15 replicas

NoSQL

DatabaseBest ForAvoid WhenScale Ceiling
MongoDBFlexible schema, document model, prototypingFinancial transactions requiring ACIDPetabyte-scale with sharding
DynamoDBKey-value at massive scale, AWS-native, serverless, predictable latencyComplex queries, ad-hoc analytics, JOINsUnlimited (AWS-managed)
CassandraWrite-heavy, time-series, wide-column, geographically distributedRead-heavy with complex queriesPetabyte-scale; used at Apple, Netflix
RedisCache, sessions, leaderboards, pub/sub, rate limitingPrimary data store for complex models~1TB per node; cluster for more
ElasticsearchFull-text search, log aggregation, analyticsPrimary database (durability risk)Petabyte-scale with clusters
InfluxDBTime-series metrics, IoT, monitoring dataGeneral-purpose dataVery high write throughput
Neo4jGraph data, social networks, recommendation engines, fraud detectionNon-graph data (overhead not worth it)Billions of nodes

Decision Framework

Is your data relational (joins, foreign keys, transactions)?
  YES → Start with PostgreSQL
  NO  → Continue below

Is your primary access pattern key-value?
  YES, need extreme scale → DynamoDB or Cassandra
  YES, need speed/cache → Redis

Is your data document-shaped (nested, flexible schema)?
  YES → MongoDB

Is it time-series (metrics, logs, IoT)?
  YES → InfluxDB or TimescaleDB

Is it graph (relationships are the data)?
  YES → Neo4j

Is it search?
  YES → Elasticsearch / OpenSearch

---

2. Cache Selection

TechnologyBest ForMax Single NodeCluster Support
RedisSessions, leaderboards, pub/sub, complex data structures, Lua scripting~1TB RAMYes (Redis Cluster, Redis Sentinel)
MemcachedSimple key-value, multi-threaded, large object cache~64GB RAMYes (client-side sharding)
VarnishHTTP reverse proxy cache, full-page cachingRAM boundLimited
CloudFront / CDNStatic assets, edge caching globallyN/A (distributed)Built-in global distribution

Default recommendation: Redis — more features, better ecosystem, active development.

Use Memcached only when: you need multi-threading for CPU-bound caching workloads and don't need data structures beyond string.

---

3. Message Queue / Event Streaming

TechnologyModelBest ForThroughputRetention
Apache KafkaLog-based streamingEvent sourcing, high-throughput pipelines, replay, auditMillions msg/sDays to forever
RabbitMQAMQP message brokerTask queues, RPC, routing, fanout50K–100K msg/sUntil consumed
AWS SQSManaged queueAWS-native, simple task queue, serverlessVery high (managed)Up to 14 days
AWS SNSPub/sub notificationFan-out to many subscribers (email, SMS, Lambda, SQS)Very high (managed)No retention
Google Pub/SubManaged streamingGCP-native, global, serverlessVery high (managed)Up to 7 days
Redis Pub/SubIn-memory pub/subReal-time notifications, low latency, fire-and-forgetVery highNone (no retention)
NATSLightweight messagingIoT, microservices, low latencyVery highJetStream adds retention

Decision Matrix

Need event replay / audit trail?
  YES → Kafka or Kinesis

Need simple task queue with retries and DLQ?
  AWS shop → SQS
  Self-hosted → RabbitMQ

Need real-time pub/sub with no persistence?
  Redis Pub/Sub or NATS

Need fan-out to multiple consumers?
  Kafka (consumer groups) or SNS → SQS fan-out

Need < 5 minutes guaranteed delivery, AWS-native, zero ops?
  SQS

Volume > 1 million messages/second?
  Kafka (self-hosted) or Kinesis (managed)

---

4. API Protocol

ProtocolBest ForAvoid When
REST (HTTP/JSON)Public APIs, CRUD, browser clients, simplicityStrict typing required; high-performance internal services
GraphQLComplex client data requirements, mobile (reduce over-fetching), BFF patternSimple CRUD; not worth the complexity
gRPC (HTTP/2 + Protobuf)Internal microservice communication, low latency, strict contracts, streamingPublic browser APIs (needs gRPC-web)
WebSocketReal-time bidirectional (chat, live dashboards, multiplayer games)One-way server push (use SSE instead)
SSE (Server-Sent Events)Server → client push (notifications, live feeds)Bidirectional communication
GraphQL SubscriptionsReal-time with GraphQL schema consistencySimple push scenarios

Default recommendation:

  • External / public: REST
  • Internal service-to-service: gRPC
  • Real-time features: WebSocket or SSE

---

5. Search Engine

TechnologyBest ForAvoid When
ElasticsearchFull-text search, log analytics (ELK), complex aggregationsSimple lookups; operational overhead is high
OpenSearchAWS-native Elasticsearch alternativeNon-AWS preferred setups
TypesenseSimple, fast full-text search, typo tolerance, easy opsComplex aggregations at massive scale
AlgoliaManaged search-as-a-service, fast setup, great UIHigh volume (expensive); self-hosted preference
MeilisearchSelf-hosted, developer-friendly, fast relevancyEnterprise-scale analytics
PostgreSQL FTSBasic full-text search, already using PostgreSQLHigh relevancy requirements or large datasets

Rule of thumb: Use PostgreSQL FTS under 1M documents. Move to Typesense or Elasticsearch above that.

---

6. Object Storage

ServiceBest ForEgress Cost
AWS S3AWS-native apps, de facto standard, massive ecosystem$0.09/GB (expensive)
Cloudflare R2S3-compatible, zero egress cost, global$0.00 egress
GCSGCP-native$0.12/GB
Azure BlobAzure-native$0.087/GB
Backblaze B2Cost-sensitive, S3-compatibleFree with Cloudflare
MinIOSelf-hosted S3-compatibleSelf-managed

Cost optimization tip: Use Cloudflare R2 for user-facing media delivery (zero egress). Use S3 for internal/AWS-integrated storage.

---

7. Container Orchestration

TechnologyBest ForAvoid When
Kubernetes (K8s)Large teams, complex deployments, multi-cloud, full controlSmall teams (ops overhead is very high)
AWS ECS + FargateAWS-native, serverless containers, simpler than K8sMulti-cloud or K8s ecosystem tools needed
AWS EKSManaged K8s on AWS, best of bothSmall teams; Fargate may be enough
GKE (Google)Best managed K8s, GCP-native, Autopilot modeNon-GCP environments
Docker ComposeLocal dev, small single-server deploymentsProduction at any meaningful scale
NomadHashiCorp ecosystem, simpler than K8s, multi-workloadK8s ecosystem tools required

Startup default: ECS + Fargate (zero cluster management).

Scale default: EKS or GKE once team > 5 engineers or services > 10.

---

8. Load Balancer

TechnologyLayerBest For
AWS ALBL7 (HTTP/HTTPS)AWS apps, path-based routing, WebSocket, HTTP/2
AWS NLBL4 (TCP/UDP)Ultra-low latency, static IP, non-HTTP protocols
GCP GLBL7 globalGCP apps, global anycast, single IP worldwide
NginxL4/L7Self-hosted, reverse proxy, flexible config
HAProxyL4/L7High performance self-hosted, advanced routing
CloudflareL7 global + DDoSDDoS protection + CDN + load balancing combined
TraefikL7Kubernetes-native, automatic SSL, service discovery

---

9. Observability Stack

Metrics

ToolBest For
Prometheus + GrafanaSelf-hosted, open-source, Kubernetes-native
DatadogManaged, APM + infra + logs unified, expensive
CloudWatchAWS-native, zero setup, integrated with AWS services
New RelicAPM-focused, good for application-level insights

Logging

ToolBest For
ELK Stack (Elasticsearch + Logstash + Kibana)Self-hosted, powerful, high volume
Loki + GrafanaLightweight, Kubernetes-native, cheap
SplunkEnterprise, compliance, expensive
AWS CloudWatch LogsAWS-native, zero setup
Datadog LogsUnified with metrics, expensive

Distributed Tracing

ToolBest For
JaegerOpen-source, Kubernetes-native, OpenTelemetry
ZipkinSimple, lightweight, good integrations
AWS X-RayAWS-native, integrates with Lambda, ECS
Datadog APMManaged, unified with metrics and logs
HoneycombHigh-cardinality event-based observability

Recommended open-source stack: Prometheus + Grafana + Loki + Jaeger (all integrate via OpenTelemetry)

Recommended managed stack: Datadog (expensive but unified) or Grafana Cloud

---

10. CDN

TechnologyBest ForEdge Locations
CloudflareDDoS protection + CDN + DNS, best free tier, edge workers300+
AWS CloudFrontAWS-native, deep S3 and API GW integration450+
AkamaiEnterprise, highest performance, expensive4000+
FastlyReal-time purging, streaming, VCL customization90+
Vercel Edge / NetlifyJamstack, frontend-first, zero config100+

Default recommendation: Cloudflare for most use cases (best value, DDoS included, free SSL, Workers for edge compute).

---

Scale Benchmarks Quick Reference

TechnologyWrite ThroughputRead ThroughputNotes
PostgreSQL (single)~10K writes/s~50K reads/sWith connection pooling
PostgreSQL (replicas)~10K writes/s~200K reads/s4 replicas
MySQL (single)~15K writes/s~60K reads/s
Cassandra~1M writes/s~500K reads/s10-node cluster
Redis~1M ops/s~1M ops/sSingle node in-memory
Kafka~1M msgs/s~1M msgs/sPer partition
Elasticsearch~50K docs/s~10K queries/sPer node
MongoDB~50K writes/s~100K reads/sPer replica set

*All benchmarks are approximate and depend heavily on hardware, payload size, and query complexity.*

Limitations

  • This is a reference document and may not cover all edge cases. Always verify architectures before production.