Skip to content

Commit

Permalink
Merge pull request #3905 from esl/docs/update-overview
Browse files Browse the repository at this point in the history
Added info about GraphQL to main page and user guide
  • Loading branch information
pawlooss1 authored Dec 21, 2022
2 parents e528541 + e709cf6 commit 89c3730
Show file tree
Hide file tree
Showing 7 changed files with 10 additions and 7 deletions.
Binary file modified doc/MongooseIM_Platform_components.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ MongooseIM is a robust, scalable and efficient XMPP server at the core of an Ins

Designed for enterprise, it is fault-tolerant, can utilise the resources of multiple clustered machines, and easily scales for more capacity by simply adding a box or a VM.

MongooseIM can accept client sessions over vanilla XMPP, REST API and SSE, as well as Websockets and BOSH (HTTP long-polling).
MongooseIM can accept client sessions over vanilla XMPP, GraphQL API, REST API and SSE, as well as Websockets and BOSH (HTTP long-polling).

As a platform, MongooseIM includes several server-side (backend) and client-side (frontend) components.
We provide a test suite, metrics, a load testing platform, and a monitoring server.
We recommend third-party, open source client libraries for XMPP and REST API.
We recommend third-party, open source client libraries for XMPP, GraphQL API and REST API.

MongooseIM is brought to you by [Erlang Solutions](https://www.erlang-solutions.com/).

Expand All @@ -35,6 +35,7 @@ MongooseIM is brought to you by [Erlang Solutions](https://www.erlang-solutions.
We offer a set of additional server-side components:

* [WombatOAM](https://www.erlang-solutions.com/products/wombat-oam.html) is a powerful monitoring platform that comes with a dedicated MongooseIM plugin
* mongoose_metrics is a internal module that provides various metrics about the server, if you use WombatOAM with MongooseIM plugin then you will see them otherwise you can use e.g. InfluxDB and Grafana to store and visualize them
* Test suite is written with the help of these useful tools:
* [escalus](https://github.com/esl/escalus): an XMPP client for Erlang
* [amoc](https://github.com/esl/amoc): a load testing tool
Expand Down
2 changes: 1 addition & 1 deletion doc/user-guide/Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ If the service requires a cluster of more than 10 nodes, we recommend using Redi

MongooseIM allows connecting different clusters as parts of larger systems. This feature is used in geo-localised services handling massive traffic from all over the world.

MongooseIM gathers over 50 different XMPP-related metrics, allowing close monitoring of what happens inside the nodes. To manage the users, rosters, messages and general settings, we provide a command-line tool, `mongooseimctl`.
MongooseIM gathers over 50 different XMPP-related metrics, allowing close monitoring of what happens inside the nodes. To manage the users, rosters, messages and general settings, we provide a GraphQL API which can be utilized via HTTP or command-line tool `mongooseimctl`(see [`GraphQL Admin API`](../graphql-api/Admin-GraphQL.md)).

Erlang Solutions also provides [WombatOAM](https://www.erlang-solutions.com/products/wombat-oam.html), an Erlang VM monitoring solution, that enables ops and devs to better understand what going on in a MongooseIM cluster.

Expand Down
4 changes: 2 additions & 2 deletions doc/user-guide/High-level-Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ Native clients on platforms such as Android, iOS, Windows, Linux, macOS, will pr

Since web clients cannot use TCP connections, they will preferably use XMPP over websockets, or the now less relevant XMPP over BOSH (using long-lived HTTP connections, more and more used as fallback).

Any client could use the client REST API, which is using HTTP request/responses.
Any client could use the client GraphQL API, which is using HTTP request/responses.

All these client connections will hit a frontend load balancer before reaching the MongooseIM cluster.

### Backend

MongooseIM supports bilateral communication with other backend services in the datacenter infrastructure.

MongooseIM REST API is available for control/management of MongooseIM's operations as well as the functional aspects.
MongooseIM GraphQL API is available for control/management of MongooseIM's operations as well as the functional aspects.

An HTTP notification enables forwarding of the events to any other external HTTP service.

Expand Down
Binary file modified doc/user-guide/Inside_MongooseIM.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions doc/user-guide/Supported-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
* over HTTP(S) long-polling (BOSH) as defined in
[XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)](http://xmpp.org/extensions/xep-0124.html) and
[XEP-0206: XMPP Over BOSH](http://xmpp.org/extensions/xep-0206.html)
* [REST API](../rest-api/Client-frontend.md)
* [GraphQL API](../graphql-api/User-GraphQL.md)
* [REST API](../rest-api/Client-frontend.md) (deprecated)
* Server/backend connections:
* [REST API](../rest-api/Administration-backend.md)
* [GraphQL API](../graphql-api/Admin-GraphQL.md)
* [REST API](../rest-api/Administration-backend.md) (deprecated)
* Configurable database backends:
* Transient:
* Mnesia
Expand Down
Binary file modified doc/user-guide/high-level_architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 89c3730

Please sign in to comment.