|
2 | 2 |
|
3 | 3 | # GameOn! Java Microservices deployment on Kubernetes Cluster |
4 | 4 |
|
5 | | -This project demonstrates deployment of a Microservices based application Game On! on to Kubernetes cluster. Game On! is a throwback text-based adventure built to help you explore microservice architectures and related concepts. GameOn! users start by creating a simple room, the building block of any adventure game. A user can create in text a simple room in any one of various languages in just a few minutes. |
| 5 | +This project demonstrates deployment of a Microservices based application [Game On!](https://gameontext.org/#/) on to Kubernetes cluster. Game On! is a throwback text-based adventure built to help you explore microservice architectures and related concepts. GameOn! users start by creating a simple room, the building block of any adventure game. A user can create in text a simple room in any one of various languages in just a few minutes. |
6 | 6 |
|
7 | 7 | There are several microservices used in this app |
8 | 8 |
|
| 9 | + |
| 10 | + |
9 | 11 | ### Core MicroServices: |
10 | 12 |
|
11 | | -- Proxy: HAProxy based, and is responsible for surfacing the collection of APIs as a single facade for the entire application. |
12 | | -- WebApp: Webapp is a simple nginx process that serves the static files that comprise the front-end of the UI. |
13 | | -- Player: Players, are represented by the player Java microservice service, which provides a public API for CRUD operations, and for managing API tokens. |
14 | | -- Auth: Java microservice to allow players to connect and identify themselves via a selected "social login" |
15 | | -- Mediator: The Mediator service is implemented in Java using WebSphere Liberty, and connects players to rooms over Websockets |
16 | | -- Map: The Map service is a Java EE application running on WebSphere Liberty that provides a public REST API using JAX-RS. It stores data in a NoSQL data store, either couchdb or Cloudant |
17 | | -Room: Java based room implementation |
| 13 | +There are five core Java microservices, using [JAX-RS](https://en.wikipedia.org/wiki/Java_API_for_RESTful_Web_Services), [CDI](https://dzone.com/articles/cdi-di-p1) etc. from [MicroProfile](http://microprofile.io) framework spec. |
| 14 | + |
| 15 | +- [Player](https://github.com/gameontext/gameon-player): Players, are represented by the player Java microservice service, which provides a public API for CRUD operations, and for managing API tokens. |
| 16 | +- [Auth](https://github.com/gameontext/gameon-auth): Java microservice to allow players to connect and identify themselves via a selected "social login" |
| 17 | +- [Mediator](https://github.com/gameontext/gameon-mediator): The Mediator service is implemented in Java using WebSphere Liberty, and connects players to rooms over Websockets |
| 18 | +- [Map](https://github.com/gameontext/gameon-map): The Map service is a Java EE application running on WebSphere Liberty that provides a public REST API using JAX-RS. It stores data in a NoSQL data store, either couchdb or Cloudant |
| 19 | +- [Room](https://github.com/gameontext/gameon-room): Java based room implementation |
| 20 | + |
| 21 | +In addition, Proxy and WebApp complete the core microservices |
| 22 | + |
| 23 | +- [Proxy](https://github.com/gameontext/gameon-proxy): HAProxy based, and is responsible for surfacing the collection of APIs as a single facade for the entire application. |
| 24 | +- [WebApp](https://github.com/gameontext/gameon-webapp): Webapp is a simple nginx process that serves the static files that comprise the front-end of the UI. |
| 25 | + |
18 | 26 |
|
19 | 27 | ### Platform Services: |
20 | | -- Amalgam8: Amalgam8 supplies Registry, and a Controller, via which it implements the Service Discovery, and Service Proxying |
21 | | -- Kafka: Publish/Subscribe solution used by Amalgam8 |
| 28 | + |
| 29 | +- [Amalgam8](https://www.amalgam8.io/): Content-based Routing Fabric for Polyglot Microservices. Amalgam8 supplies Registry, and a Controller, via which it implements the Service Discovery, and Service Proxying. In addition, there ia an Amalgam8 sidecar associated with each microservice, which automatically registers the microservice with the registry. |
| 30 | +- [Kafka](https://kafka.apache.org): Publish/Subscribe solution used by Amalgam8 |
22 | 31 |
|
23 | 32 | Everything would be hosted on a Kubernetes Cluster where you can access your own GameOn app from anywhere. |
24 | 33 |
|
|
0 commit comments