- Pro: Both are production ready
- Pro: Can handle any throughput we will see
- Pro: More feature rich
- Healthchecks
- DNS and HTTP API available to map endpoints
- Lots of service discovery built in
- Pro: Solution could be used in more than one place (bld/prod/etc..)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# iops | |
resource "aws_db_instance" "rds" { | |
identifier = "${var.identifier}" | |
allocated_storage = "${var.allocated_storage}" | |
iops = "${var.iops}" | |
engine = "${var.engine}" | |
engine_version = "${var.engine_version}" | |
instance_class = "${var.instance_class}" | |
name = "${var.db_name}" | |
username = "${var.db_username}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# aws-instance-monitor | |
# | |
# This is a command-line tool, as well as a monitor/failover script that is designed | |
# for HA NAT, but should be usable when the following conditions are met: | |
# | |
# 1. Used in AWS VPC Route Table - VPC routing describes methods of egress | |
# for outbound traffic. Typically, a NAT will have a 0.0.0.0/0 rule | |
# and the route will be in a table associated with a Private Subnet. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: pumacontrol | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Puma web server |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
----- Esc ----- | |
Quick change directory: Esc + c | |
Quick change directory history: Esc + c and then Esc + h | |
Quick change directory previous entry: Esc + c and then Esc + p | |
Command line history: Esc + h | |
Command line previous command: Esc + p | |
View change: Esc + t (each time you do this shortcut a new directory view will appear) | |
Print current working directory in command line: Esc + a | |
Switch between background command line and MC: Ctrl + o | |
Search/Go to directory in active panel: Esc + s / Ctrl + s then start typing directory name |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# This script will install a Git pre-push hook that prevents force pushing the master branch. | |
# Install in current Git repo: | |
# curl -fL https://gist.githubusercontent.com/stefansundin/d465f1e331fc5c632088/raw/install-pre-push.sh | sh | |
# Uninstall: | |
# rm .git/hooks/pre-push | |
# in each repository that you've added this to. | |
GITROOT=`git rev-parse --show-toplevel 2> /dev/null` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- What do Etcd, Consul, and Zookeeper do? | |
- Service Registration: | |
- Host, port number, and sometimes authentication credentials, protocols, versions | |
numbers, and/or environment details. | |
- Service Discovery: | |
- Ability for client application to query the central registry to learn of service location. | |
- Consistent and durable general-purpose K/V store across distributed system. | |
- Some solutions support this better than others. | |
- Based on Paxos or some derivative (i.e. Raft) algorithm to quickly converge to a consistent state. | |
- Centralized locking can be based on this K/V store. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function UserWasCreated(id, name){ | |
this.Event = arguments.callee.name; | |
this.UserId=id; | |
this.Name=name; | |
} | |
function UserWasRenamed(id, name){ | |
this.Event = arguments.callee.name; | |
this.UserId=id; |
##Reactive System Design Links
#Articles and Papers
- The Reactive Manifesto: http://www.reactivemanifesto.org/
- https://en.wikipedia.org/wiki/Reactive_programming
- https://en.wikipedia.org/wiki/Functional_reactive_programming
- Design Methods for Reactive Systems book slides: http://booksite.elsevier.com/9781558607552/slides/slides.pdf
- Programming without a callstack Event Driven Architectures By G Hohpe: http://www.eaipatterns.com/docs/EDA.pdf
- On Distributed Memory Systems: http://blog.paralleluniverse.co/2012/07/10/on-distributed-memory/
- Disruptor source code, papers and articles: https://lmax-exchange.github.io/disruptor/