peach-devdocs/src/software/microservices/index.md

17 lines
1.2 KiB
Markdown
Raw Normal View History

# Microservices
2019-10-15 14:47:13 +00:00
PeachCloud is built primarily with a [microservices architecture](https://microservices.io/). Each microservice utilises [JSON-RPC](https://www.jsonrpc.org/specification) - a stateless, light-weight remote procedure call protocol - as a means of exposing functionality and allowing interoperability. This approach produces a collection of services which are highly maintainable and testable, loosely coupled and independently deployable. HTTP and WebSockets are used as transports for the microservices.
The suite of PeachCloud microservices currently includes:
2019-10-30 14:44:18 +00:00
- **peach-buttons** [(repo)](https://github.com/peachcloud/peach-buttons)
2019-10-15 14:47:13 +00:00
- poll GPIO pins for button presses and emit events via pub-sub
2019-10-30 14:44:18 +00:00
- **peach-menu** [(repo)](https://github.com/peachcloud/peach-menu)
2019-10-15 14:47:13 +00:00
- monitor and interact with the device via the physical interface
2019-10-30 14:44:18 +00:00
- **peach-network** [(repo)](https://github.com/peachcloud/peach-network)
2019-10-15 14:47:13 +00:00
- query and configure network interfaces
2019-10-30 14:44:18 +00:00
- **peach-oled** [(repo)](https://github.com/peachcloud/peach-oled)
2019-10-15 14:47:13 +00:00
- write and draw to the OLED display
2019-10-30 14:44:18 +00:00
- **peach-stats** [(repo)](https://github.com/peachcloud/peach-menu)
2019-10-15 14:47:13 +00:00
- query system statistics