Documentation ¶
Overview ¶
Package main for spigo - simulate protocol interactions in go. Terminology is a mix of NetflixOSS, promise theory and flying spaghetti monster lore
Directories ¶
Path | Synopsis |
---|---|
actors
|
|
denominator
Package denominator simulates a global DNS service Takes incoming traffic and spreads it over elb's in multiple regions
|
Package denominator simulates a global DNS service Takes incoming traffic and spreads it over elb's in multiple regions |
edda
Package edda Logs the architecture configuration (nodes and links) as it evolves
|
Package edda Logs the architecture configuration (nodes and links) as it evolves |
elb
Package elb simulates an Elastic Load Balancer Takes incoming traffic and spreads it over microservices in three availability zones
|
Package elb simulates an Elastic Load Balancer Takes incoming traffic and spreads it over microservices in three availability zones |
eureka
Package eureka is a service registry for the architecture configuration (nodes) as it evolves and passes data to edda for logging nodes and edges
|
Package eureka is a service registry for the architecture configuration (nodes) as it evolves and passes data to edda for logging nodes and edges |
karyon
Package karyon simulates a generic business logic microservice Takes incoming traffic and calls into dependent microservices in a single zone
|
Package karyon simulates a generic business logic microservice Takes incoming traffic and calls into dependent microservices in a single zone |
monolith
Package monolith simulates a monolithic business logic microservice Takes incoming traffic and calls into dependent microservices across all zones
|
Package monolith simulates a monolithic business logic microservice Takes incoming traffic and calls into dependent microservices across all zones |
packagenames
Package packagenames has name definitions for packages that simulate behaviors
|
Package packagenames has name definitions for packages that simulate behaviors |
pirate
Package pirate is a participant in the social network, listens to the FSM and to other pirates chats at a variable rate by giving gold and namedropping friends
|
Package pirate is a participant in the social network, listens to the FSM and to other pirates chats at a variable rate by giving gold and namedropping friends |
priamCassandra
Package priamCassandra simulates a cassandra cluster with NetflixOSS Priam Takes incoming traffic and calls into cross zone and cross region nodes
|
Package priamCassandra simulates a cassandra cluster with NetflixOSS Priam Takes incoming traffic and calls into cross zone and cross region nodes |
staash
Package staash simulates a generic data access layer microservice Takes incoming traffic and calls into dependent microservices in a single zone
|
Package staash simulates a generic data access layer microservice Takes incoming traffic and calls into dependent microservices in a single zone |
store
Package store simulates a generic business logic microservice Takes incoming traffic and calls into dependent microservices in a single zone
|
Package store simulates a generic business logic microservice Takes incoming traffic and calls into dependent microservices in a single zone |
zuul
Package zuul simulates a api proxy microservice Takes incoming traffic and calls into dependent microservices in a single zone
|
Package zuul simulates a api proxy microservice Takes incoming traffic and calls into dependent microservices in a single zone |
Package compose reads docker-compose yaml files and generates architecture json output Would use https://github.com/docker/libcompose if it wasn't so mind-numbingly complicated
|
Package compose reads docker-compose yaml files and generates architecture json output Would use https://github.com/docker/libcompose if it wasn't so mind-numbingly complicated |
utility to read a docker compose yaml file and write out an arch_json
|
utility to read a docker compose yaml file and write out an arch_json |
tooling
|
|
archaius
Package archaius holds all configuration information, named after the netflixoss project
|
Package archaius holds all configuration information, named after the netflixoss project |
architecture
Package architecture reads a microservice architecture definition from a file It creates and controls a collection of aws and netflix application microservices
|
Package architecture reads a microservice architecture definition from a file It creates and controls a collection of aws and netflix application microservices |
asgard
Package asgard contains shared code that is used to create an aws/netflixoss style architecture (including lamp and migration)
|
Package asgard contains shared code that is used to create an aws/netflixoss style architecture (including lamp and migration) |
chaosmonkey
Package chaosmonkey deletes nodes
|
Package chaosmonkey deletes nodes |
collect
Package collect throughput and response times using Go-Kit Metrics
|
Package collect throughput and response times using Go-Kit Metrics |
dhcp
Package dhcp provides individual IP addresses by name, simulating dhcp
|
Package dhcp provides individual IP addresses by name, simulating dhcp |
flow
Package flow processes gotocol context information to collect and export request flows across the system
|
Package flow processes gotocol context information to collect and export request flows across the system |
fsm
Package fsm implements a Flexible State Manager (Flying Spaghetti Monster) It creates and controls a large social network of pirates via channels (the noodly touch) or reads in a network from a json file.
|
Package fsm implements a Flexible State Manager (Flying Spaghetti Monster) It creates and controls a large social network of pirates via channels (the noodly touch) or reads in a network from a json file. |
gotocol
Package gotocol provides protocol support to send a variety of commands listener channels and types over a single channel type
|
Package gotocol provides protocol support to send a variety of commands listener channels and types over a single channel type |
graphgexf
Package graphgexf writes nodes and edges to spigo.graphml in the XML based GEXFformat used by the freely available Gephi tool
|
Package graphgexf writes nodes and edges to spigo.graphml in the XML based GEXFformat used by the freely available Gephi tool |
graphjson
Package graphjson saves and loads architectures to and from graph json files
|
Package graphjson saves and loads architectures to and from graph json files |
graphml
Package graphml writes nodes and edges to spigo.graphml in the XML based GraphML format used by the freely available yEdit tool from yfiles.com
|
Package graphml writes nodes and edges to spigo.graphml in the XML based GraphML format used by the freely available yEdit tool from yfiles.com |
graphneo4j
Package graphneo4j saves architectures to neo4j
|
Package graphneo4j saves architectures to neo4j |
handlers
Package handlers contains common code used for message handling
|
Package handlers contains common code used for message handling |
migration
Package migration implements a simulation of migration to a global large scale microservice architecture It creates and controls a collection of aws, lamp, netflixoss and netflix application microservices or reads in a network from a json file.
|
Package migration implements a simulation of migration to a global large scale microservice architecture It creates and controls a collection of aws, lamp, netflixoss and netflix application microservices or reads in a network from a json file. |
names
Package names creates and accesses the nanoservice naming hierarchy
|
Package names creates and accesses the nanoservice naming hierarchy |
ribbon
Package ribbon is named after the NetflixOSS routing and load balancing project, functions for routing traffic
|
Package ribbon is named after the NetflixOSS routing and load balancing project, functions for routing traffic |
usl
Package usl implements universal scalability law functions as described in https://github.com/VividCortex/ebooks/blob/master/scalability.pdf
|
Package usl implements universal scalability law functions as described in https://github.com/VividCortex/ebooks/blob/master/scalability.pdf |
Click to show internal directories.
Click to hide internal directories.