Discover Packages
github.com/nickborgers/beanstalkgostack
command
module
Version:
v0.0.0-...-184c448
Opens a new window with list of versions in this module.
Published: Jun 8, 2019
License: MIT
Opens a new window with license information.
Imports: 10
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
It doesn't have to make sense, it just has to demonstrate a cloud-native architecture using AWS for CI/CD
Product is running here
Technical summary
Use of AWS for pipeline and operation
Golang services
Light, pure JavaScript UI
CI/CD summary
Architecture
Event-based
Microservices architecture
Stateless API, other than websockets
Would not actually scale out in present form because analysis could be pushed to an instance without the requester attached; I should be using Pub/Sub for that part
I produced some Swagger 2.0 to get started, but did not refer to it much after struct definition in Go. I do not know how to represent WebSockets in Swagger, and quality swagger was not part of this plan.
Component descriptions
Services
The three services are copuled by message queue and event syntax. No versioning of events was implemented.
The UI is hosted outside of the Go microservices by NGINX itself.
Frontend service
Main file
Build command
Beanstalk mapping
Takes in requests for information about pandas by-name via HTTP
Reads JSON object analysis results off analysis queue
Delivers analysis via websocket to all connected clients
Should be consuming analysis reports from a Pub/Sub channel
Data service
Main file
Build command
Beanstalk mapping
Takes in requests for information about pandas by-name via request queue
Makes up repeatable data about requested panda and pushes it onto data queue
Takes in arbitrary string names and outputs JSON objects
Uses Panda health data generator (should be a package):
Analysis service
Other stuff
UI
Shared Go code
Things that should be configuration files instead
Expand ▾
Collapse ▴
Documentation
¶
There is no documentation for this package.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.