Index

[SYMBOL][A][B][C][D][E][F][G][H][I][J][K][L][M][N][O][P][Q][R][S][T][U][V][W][Z]

SYMBOL

90th percentile2nd

A

A/B testing
abstracting
ACID properties
ACID transactions
act method
actions, lost2nd
activate operations
ActiveRecord pattern
actor-style invariants
adaptive throttles
adaptive timeouts
add method
add-article activity
add-coupon message
add-item message
additivity principal2nd3rd
aggressive caching
Agile
alliances, building
Anaconda
anchoring
anecdata
Anscombe’s quartet
anti-patterns
antifragile systems
apoptosis pattern
applications, refinement strategy

architecture
  of asynchronous messages
  of microservices2nd
  of mini web servers
article read counts
article-collect activity
article-need activity
article-view activity
ArticleHandler
ASDs (automatic safety devices)2nd
asynchronous messages.
    See messages.
atomicity property
automation
  bake pattern
  canary pattern
  merge pattern
  progressive canary pattern
  split pattern
  tooling
  workarounds
autonomy
averages, problems with

B

backpressure
bake pattern
Balkanization
bandwidth
base node
batch progress reporter
Beck, Kent
bidirectional lines
BLOB (binary large object)
blue-green deployment strategy2nd3rd
Brooks, Frederick P.
BRs (business requirements)
build-article activity
build-article-list activity
business layers

business logic
  finding invariants from
  overview
  using code
businesses, requirements of
Byzantine Generals problem

C

cache invalidation
cache messages
cache-and-notify service
canary pattern, progressive
canonical data model
cardinalities2nd
cargo culting
catastrophic collapse
categorical scatterplot
CD (continuous delivery)2nd
CDN (content delivery network)
chain workflow
chain-style invariants
chaos pattern
CI (continuous integration)
circles
circuit breaker
close arrow
cmp property
co-located servers
code
  autonomy
  benefiting from mistakes
  disposable
  disposable code
  everybody codes
  message flows
  polyglot service architecture
  types of
CoffeeScript
cold services
command pattern
communication channels

components
  multiple
  overview
  two-component systems

composition
  overview2nd
  using to manipulate data
condensate polisher
configurations
  classical
  heterogeneous
  of Docker
    staging
    testing
  of microservices
consistency level
consistency property

constraints
  hard, accepting
  using to distribute data
Consul
consumed messages
ContentMapper class

continuous delivery
  pipelines
  process
  protection
continuous deployment
Conway, Melvin
Conway's Law
CORBA (Common Object Request Broker Architecture)
correlation identifiers
CQRS
cross-cutting, handling concerns with
cubes
curl
custom GUIDs
custom views

D

Dapper
dashboards, building
dashed boundary line
dashed line
dashed-closed—asynchronous actor
dashed-open—asynchronous subscribers

data
  adding sources of
  decision guide for
    greenfield scenarios
    legacy scenarios
  definition of
    accuracy of
    disposable
    heterogeneous
    local
    private
  strategies for microservices
    composition to manipulate data
    messages to expose data
    system configuration to control data
    weaker constraints to distribute data
data corruption
data duplication
data integrity
data munging
data patterns
  foreign keys
  primary keys
  schemas
  transactions
data property
data sampling
data-update operations
deactivate operations
dead-letter queue
dead-letter service
deadlines
Death zone

debugging
  overview2nd
  staged services
decision guides, for data
  greenfield scenarios
  legacy scenarios
declarative structures
defense in depth principle
delivery
  debugging
    overview
    staged services
  enhancing
    adding data sources
    adding features
    extending systems
  guaranteed2nd
  local development
    info services
    npm services
    practicalities of
    search services
    web services
  monitoring
    debugging
    logging
    tracing
  of software
    practical application of politics
    process of
  path to production
  performance
    github services
    info services
    npm services
    search service
    suggest services
    web services
  risk measurement
    Docker configuration
    staged services
    validation services
  scaling
    github services
    info services
    npm services
    search service
    suggest services
    web services
  staging
    Docker configuration
    staged services
    validation services
  testing
    Docker configuration
    validation services
  value-focused
demilitarized zone.
    See DMZ.
denial of service.
    See DoS.
denormalization2nd
dependency graph
dependency trees
  asynchronous message architecture
  overview

deployments
  continuous delivery
    pipelines
    process
    protection
  effect of changes on
  learning from history
    models for failure in software systems
    redundancy
    Three Mile Island
  redundancy
  risk tolerance
  running microservice systems
    automation
    configuration
    development
    discovery
    immutability
    resilience
    security
    staging
    validation
  software development process
deprogramming
design
  business requirements
  messages
    performance requirements
    relating to module changes
    relating to module information
    relating to search
    relating to sources
  services
    role
    github, cmd message patterns
    info, cmd get pattern
    info, collec part pattern
    info, event change pattern
    info, need part pattern
    npm, cmd message patterns
    search, cmd
    insert pattern
    search pattern

development
  cost of perfect software
  overview.
    See also local development.
DevOps

diagrams
  of message flows
  of microservices2nd
direct queries
discovery
discrete messages
distributed logging
distributed messages.
    See messages.
distributed monolith
distributed tracing
distributions, normal and skewed
DMZ (demilitarized zone)
DNS protocol

Docker
  staging configuration
  testing configuration
Docker Swarm
document-oriented design
domain language
domains
DoS (denial of service)
doublethink
downstreams, slow2nd
drop duplicates
DRY (don’t repeat yourself) principal2nd3rd
durability property

E



e-commerce
  examples
    legacy architecture
    software delivery process
  greenfield scenario
Elasticsearch2nd
embedded configuration
emergent behavior
entries
entry-cache microservice
entry-level microservices
entry-store microservice2nd
ephemeral units of deployment
Erlang processes
error counts

errors
  acceptable rates of
  benefiting from
  capturing
etcd
eu-vat microservice
Eureka
explicit workflows
exposing data, using messages
extending systems
extension modules
extension points
external failure

F

failure modes
failure rate
failure threshold

failures
  in fire-and-forget interaction
  in request/response interaction
  in sidewinder interaction
  in software systems, models for
  in winner-take-all interaction
    guaranteed delivery
    poison messages
  of messages
    common scenarios
    limiting
fake user

features
  adding
    to product pages
    to shopping carts
  dropping
feedback loop
Fielding, Roy

fire-and-forget pattern
  failures in
  overview2nd
firewalls
flapping
follow service
foo module
foreign keys
fragile systems
front microservice
functionalities

G

Game Theory
gauge level
generative frameworks
get-article activity
get-profile activity

github services
  overview2nd
  performance of
  scaling
Google Game Days
Google Site Reliability Engineering team
gossip protocol
GOTO statement
Graphite

greenfield scenarios
  initial development
  production phase
greenfield tactic
grep command
guaranteed delivery
guerrilla scenario
Gupta, Indranil

H

handler function
HAProxy

hard constraints
  accepting
  overview
hard limits
HashiCorp Vault
hermetic
hexagons2nd
hiding components
high-capacity scaling
histogram
history pattern
Holacracy
homeostasis pattern
horizontal functionalities
horizontal scaling
HSMs (hardware security modules)
Hudson
hypercubes

I

idempotent task
immutability2nd
  history pattern
  homeostasis pattern
  rollback pattern
immutable artifacts
immutable units of deployment
in-memory data structures
inbound-receive
inbound-receive/count2nd
inbound-receive/valid2nd
inbound-response
inbound-response/count
inbound-response/pass2nd
inbound-response/time
independent software component
index microservice
infinite loops
InfluxDB
info role, BR3

info services
  building
  overview
  performance of
  scaling
information-carrying events
infrastructure code
input parameter
institutions, politics of
  abstracting
  acceptable error rates
  accepting hard constraints
  building alliances
  Conway’s Law
  deprogramming
  dropping features
  external validation
  finding sponsors
  team solidarity
  value-focused delivery
integer keys
intelligent round-robin
internal failures
invariants
  actor-style
  chain-style
  finding from business logic
  finding from system architecture
  publish/subscribe-style
  synthetic validation
  system discovery
    distributed logging
    distributed tracing
    error capture
  tree-style
  visualizing
invariants—dimensionless numbers
isolation property
items property

J

JFrog Artifactory
Joel Test
JOIN operation
JOIN queries

K

Kafka2nd
key-value model
key-value pairs
kill switch
Kill Switch pattern2nd
Knight Capital
Kubernetes
KVS (key-value stores)

L

label property

latency
  lowering
  overview

layers
  business
  messages, measuring
    asynchronous and consumed messages
    asynchronous and observed messages
    synchronous and consumed messages
    synchronous and observed messages
    universal measurements
  services
    downstream problems
    identifying location of problems
    local problems
    service-instance health
    upstream problems
legacy architecture

legacy scenarios
  initial development
  production phase
Lerna
LevelDB
linearly serializable
list-article activity
load balancing2nd3rd4th
load shedding2nd
load-induced failures
load-user-profile message
LOCA (loss-of-containment vessel)
local development
  info services
  npm services
  practicalities of
  search services
  web services
log indexing

logging
  distributed
  overview
logic bugs
login activity
logout activity
Logstash

M



macroservices
  extraction
  overview
  tactics
management system
Mandelbrot Set fractal
manual verification

measurements
  for microservices
    business layers
    message layers
    service layers
  invariants
    finding from business logic
    finding from system architecture
    synthetic validation
    system discovery
    visualizing
  limits of traditional monitoring
    building dashboards
    classical configurations
    microservice configurations
    problems with averages
    scatterplots
    using percentiles
  of asynchronous and consumed messages
  of asynchronous and observed messages
  of synchronous and consumed messages
  of synchronous and observed messages
  universal
median value
memcached
merge pattern
message bus
message first principle
message flows
message lines
message routing
message schemas
message transports, inefficient
message-flow rates
messages2nd
  asynchronous
    architecture of
    when to use
  diagramming flow of
  distributed
  failures of
    common scenarios
    in fire-and-forget interaction
    in request/response interaction
    in sidewinder interaction
    in winner-take-all interaction
  limiting failure of
  measuring
  organizing into services
  pattern matching
    changing business requirements with
    refactoring using
  patterns
    m messages / n services
    m/n
    chain
    tree
    one message / n services
    one message / two services
    scaling messages
    two messages / two services
  performance requirements
  poison2nd
  relating to module changes
  relating to module information
  relating to search
  relating to sources
  scaling
    increasing throughput
    lowering latency
  synchronous
  transport independence
  using to expose data
Metcalfe’s law
microblogging2nd
microservices
  architecture of
    diagrams
    overview
  as software components
    composable
    encapsulated
    reusable
    well-defined interfaces
  as structural units of software
  benefits of using
  configurations of
  data strategies for
    composition to manipulate data
    messages to expose data
    system configuration to control data
    weaker constraints to distribute data
  definition of
  dependency trees
  diagrams for
  distributing among teams
  internal structure of
  monolithic projects vs.
    disposable code
    heterogeneous configuration
    project management
    software estimation
    types of code
  politics of
    coding
    DevOps
  practical implications of
    deployment
    people
    security
    specification
  technical principles of
    additivity
    pattern matching
    transport independence
migration
  delivering software
  e-commerce examples
    legacy architecture
    software delivery process
  moving from general to specific
    adding features to product pages
    adding features to shopping carts
    handling cross-cutting concerns
  refinement strategy
  strangler tactic
    greenfield tactic
    inability to migrate
    macroservice tactic
    partial proxying
mini apps
mini web servers, architecture of
mitosis pattern
mock search service
models, for failures in software systems
  multiple components
  two-component systems
monitoring
  debugging
  limits of
    building dashboards
    classical configurations
    microservice configurations
    problems with averages
    scatterplots
    using percentiles
  logging
  tracing
monitoring and diagnostic system
monolith
monolithic projects, microservices vs.
  disposable code
  heterogeneous configuration
  project management
  software estimation
  types of code
monolithic systems
monorepo
multi-armed bandit
multi-implementation deployment
multidimensional scaling
multiple inheritance
multiversion deployment
MVP (minimum viable product)

N

nanoservices
Nash equilibrium
Netflix2nd3rd
Netflix Chaos Monkey
New Relic2nd3rd
NGINX
no privilege
Node.js module
normal distribution

npm services
  building
  overview2nd
  performance of
  scaling
numeric cardinalities

O

object-oriented model
Occam’s razor
ODBC (Open Database Connectivity)
one-to-one mapping
open arrow
orchestra pattern
orphan reservations
outbound-response
outbound-response/count2nd
outbound-response/pass
outbound-response/time2nd
outbound-send
outbound-send/count2nd
outbound-send/fail
outbound-send/pass2nd
outbound-send/wtf
overlay network
overloading upstreams

P

PaaS (platform-as-a-service)
PageBuilder class
PageCache class
Pareto distribution
Pareto Principle
pattern matching
  changing business requirements with
  overview2nd
  refactoring using
patterns
  m messages / n services
  m/n
    chain
    tree
  of data
    foreign keys
    primary keys
    schemas
    transactions
  one message / n services
    1/n
    multi-implementation deployment
    multiversion deployment
    orchestra
    scatter/gather
  one message / two services
    1/2
    fire-and-forget
    request/response
    sidewinder
    winner-take-all
  scaling messages
    increasing throughput
    lowering latency
  two messages / two services
    2/2
    batch progress reporter
    request/react
peer-to-peer network
percentiles, using
performance
  github services
  info services
  npm services
  search service
  suggest services
  web services
pipelines
Play zone, Death zone
pod abstraction, Kubernetes
poison messages

politics
  institutional
    abstracting
    acceptable error rates
    accepting hard constraints
    building alliances
    Conway's Law
    deprogramming
    dropping features
    external validation
    finding sponsors
    team solidarity
    value-focused delivery
  of microservices
    coding
    DevOps
    distributing microservices among teams
  practical application of
polyglot service architecture
PORV (pilot-operated relief valve)
post microservice
Postel, Jon
Pray zone, Death zone
primary keys

problems
  downstream
  identifying location of
  local
  upstream
process
Procrustean bed
product pages, adding features to
product-detail-lookup message
production environment
profile-load message
profile-save message
Progressive Canary pattern2nd
projects, managing
Prometheus
protection
proxying, partial
ps command
publish/subscribe-style invariants
Puppet

Q

queries
query property2nd
quicksort algorithm

R

random round-robin
read-committed isolation
read-uncommitted isolation
recommendation service
rectangles
Redis2nd3rd
redundancy2nd

refactoring
  overview2nd
  with pattern matching
refinement
register activity
regulatory constraints
reliabilities, calculating
remove-article activity
remove-item message
repeatable-read isolation
repl service
request/react pattern
request/response interaction, failures in
request/response pattern
reservations
resilience
  apoptosis pattern
  catastrophic collapse
  emergent behavior
  guaranteed delivery
  kill switch pattern
  lost actions
  mitosis pattern
  poison messages
  slow downstream
  upstream overload
REST (representational state transfer)
retries
risk, measuring
  Docker configuration
  staged services
  validation services
risks, managing
robust systems

role
  github, cmd message patterns
  info, cmd get pattern
  info, collect part pattern
  info, event change pattern
  info, need part pattern
  npm, cmd message patterns
  search, cmd
    insert pattern
    search pattern
role property
rollback pattern
routing messages
RPC (remote procedure call)

S

save operation
scaling
  github services
  info services
  messages
    increasing throughput
    lowering latency
  npm services
  search service
  suggest services
  web services
scatter-gather strategy
scatter/gather pattern
scatterplots
scheduled downtime
schema-compliant XML
schemas
scramming
scriptable API
seaborn
search role, BR2

search services
  building
  overview2nd
  performance of
  scaling
search-engine service
search, messages relating to
security
Seneca2nd
seneca-mesh plugin
seneca-zipkin-tracer plugin
serializable isolation
servers.
    See mini web servers.
service coupling
service instances, health of
service layers
  downstream problems
  identifying location of problems
  local problems
  service-instance health
  upstream problems
service registries
service-execution scripts
services
  organizing messages into
  role
    github, cmd message patterns
    info, cmd get pattern
    info, collect part pattern
    info, event change pattern
    info, need part pattern
    npm, cmd message patterns
    search, cmd
shard environments
shard property
sharding2nd
shopping carts, adding features to

sidewinder interaction
  failures in
  overview
sidewinder pattern
simple round-robin
skewed distribution
solid boundary line
solid line
solid-closed—synchronous actor
solid-open—synchronous subscribers
SORs (systems of record)2nd
source code repositories
sources, messages relating to
split pattern
sponsors, finding
Stack Overflow
staged services, debugging
staging2nd3rd
  Docker configuration
  staged services
  validation services
staging environment
stale-data bug
standard GUIDs
StatsD
stored procedures
strangler tactic
  greenfield tactic
  inability to migrate
  macroservice tactic
  partial proxying
streaming data
Structure101
suffix tag

suggest services
  overview
  performance of
  scaling
Survival zone
SWIM algorithm2nd
synchronous messages.
    See messages.
synthetic keys
synthetic validation
system architecture, finding invariants from
  actor-style invariants
  chain-style invariants
  publish/subscribe-style invariants
  tree-style invariants
system configuration, using to control data
system discovery
  distributed logging
  distributed tracing
  error capture
system failure
system invariants
systems, extending

T

TCP/IP (Transmission Control Protocol/Internet Protocol)

teams
  distributing microservices among
  solidarity of
technical assessments
technical debt2nd3rd
technical failures
telemetry
telnet
testing
  Docker configuration
  validation services
thrashing
Three Mile Island
  learning from
  timeline of
throughput
thundering herd
time to live
timeline service
timeouts
Toil category
tooling
trace chart

tracing
  distributed
  overview
transactional email

transactions
  complex
  disadvantages of using
  overview
transport independence2nd
Travis CI
tree workflow
tree-style invariants
trie data structure
triggering message
Turing, Alan
Turing’s revenge
two-component systems

U

uniform communication2nd
unit tests
UNIX pipes2nd
updater service2nd
upstreams, overloaded2nd
URL endpoints
user preferences
user subscriptions
user-login message
UserManager class

V



validation
  chaos pattern
  externally
  testing validation services
  version update pattern
Verschlimmbessern
version tag
version update pattern
version-controlled local development environment)
vertical functionalities
vertical scaling
visitor-collect activity
visitor-need activity
visualizing invariants

W

Wait zone, Survival zone

web services
  building
  overview
  performance of
  scaling
winner-take-all interaction, failures in
  guaranteed delivery
  poison messages
winner-take-all pattern
wire protocol
Work zone, Survival zone
workflows
wrapping cache
wreck library
write-through cache

Z

Zipf’s law
Zipkin2nd
ZooKeeper

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset