Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngerakines/elasticservices
A protocol buffer based framework for creating self coordinating asynchronous services.
https://github.com/ngerakines/elasticservices
Last synced: about 1 month ago
JSON representation
A protocol buffer based framework for creating self coordinating asynchronous services.
- Host: GitHub
- URL: https://github.com/ngerakines/elasticservices
- Owner: ngerakines
- License: mit
- Created: 2013-12-03T17:07:56.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2014-02-26T18:27:10.000Z (almost 11 years ago)
- Last Synced: 2024-05-01T13:43:23.830Z (8 months ago)
- Language: Java
- Homepage: http://elasticservic.es/
- Size: 1.08 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# About
This library provides a protocol buffer based framework for creating self
coordinating asynchronous services.Please refer to the project website for documentation:
http://elasticservic.es/
# Overview
The library provides tools and components to create and define services that
can communicate with each other.A **component** is essentially a daemon that has one or more services running
on it. Components are identified by a three part **component ref** that
consists of a site id, cluster id and component id. A **service** is an
instance of a service implementation associated with a component and is
identified by a two part **service ref** consisting of a component and a
service id.When a service wants to engage another service, it uses the **service
registry** to send a **message** to the service identified by the **service
ref**.An example service implementation is the **gossip service**. It consists of a
service implementation that listens to **component online** and **component
status** messages that are broadcasts to a fanout topic as well as a
broadcast **work** that periodically sends out those messages for other
components to consume.## Example: Calc
In the examples directory are the calc-service and calc-webapp maven modules.
The calc-service module includes a calculation service that listens to add
messages and responds with result messages. It is an example of a standalone
JSVC based daemon.The calc-webapp module includes a spring-based HTTP API that engages the calc
service. It includes an example edge service that demonstrates how
synchronous projects, like HTTP edges, can engage asynchronous services.# License
Copyright (c) 2013,2014 Nick Gerakines
This project and its contents are open source under the MIT license.