Skip to main content

Technology Matrix

Production Components

Production System

Component123
DNSCoreDNS(2019) - GolangBIND - C
CDNAkamaiCloudflareFastly
Load BalancerNGINX - CHAProxy - C
Web Server (reverse proxy)NGINX - CApache HTTP server - CTomcat , Jetty - Java
asynchronous task queueCelery (py) broker with RabbitMQ or Redis
Message BrokerRabbitMQ - Erlangkafka with Zookeeper (No zookeeper for kafka) - JavaZeroMQ - C++
In-Memory cacheRedis - CHazelcast IMDG - Java
Change Data Capture(CDC)debezium (on top of Kafka) - JavaApache StreamSets
SQLPostgreSQL - C
NoSQLMongoDB - C++Cassandra , HBase, Neo4j - JavaCouchDB - Erlang

Monitor Components

Tech typeName
Container orchestrationmarathon on mesos vs kubernates
SystemUbuntu
Containerdocker
Cloud deploymentterraform
Cluster coordination servicezookeeper, (consul, etcd)
collecting, storing, visualizing and alertingELK (Elasticsearch / Logstash / Kibana)
TICK (Telegraf/InfluxDB/Chronograf/Kapacitor)
distributed real-time computation systemstorm
Request tracingzipkin, jaeger or Opentracing
observabilityWavefront, DataDog, NewRelic
APIDropWizard for REST APIs, Graph QL
OLTPOnline transaction processing (OLTP) captures, stores, and processes data from transactions in real time.
OLAPOnline analytical processing (OLAP) uses complex queries to analyze aggregated historical data from OLTP systems.