Skip to content

Commit

Permalink
chore: remove obsolete statistics api traces
Browse files Browse the repository at this point in the history
  • Loading branch information
thomashilzendegen authored and gingters committed Jun 13, 2024
1 parent 5bd287d commit f9fb100
Show file tree
Hide file tree
Showing 15 changed files with 17 additions and 305 deletions.
15 changes: 0 additions & 15 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,21 +72,6 @@ RelayServer deployments consist of multiple instances (pods) of different contai
Configuration:
* Provide a connection string to the RelayServer database

* Thinktecture.Relay.StatisticsApi
This component provides endpoints to retrieve usage data about the system from the database. For example you could
fetch this data in intervals and feed it into your monitoring or billing systems. Load on this component is based
on your internal usage only and should be fairly constant.
If not absolutley required we suggested not exposing this container to the public internet. Only have it available
for your internal administrative usages. Unless you have higher load or higher reliability requirements (i.e. for
monitoring) it should be fine to run only a single instance.

**DO** create your own project using the RelayServer v3 NuGet packages. Use the corresponding persistence packages for
the database of your choice.
**Do NOT** use the example / development project and docker file from this repository in production.

Configuration:
* Provide a connection string to the RelayServer database

## Connector

* Thinktecture.Relay.Connector
Expand Down
2 changes: 1 addition & 1 deletion docs/development-getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,4 @@ backing service classes. The way we structured the components listed above is ba
so far and does not mean that this is the only way to deploy and use RelayServer.

It might be the case that your specific use case demands or favours a different component layout, i.e. combining the
management- and statistics API together into a single host project, or even putting all server components together.
management API and RelayServer together into a single host project, or even putting all server components together.
17 changes: 3 additions & 14 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ RelayServer v3 supports different types of authentication for different use case
use OAuth 2 client credential authentication to be able to securely communicate with the [RelayServer](#relayserver).
However you can customize and change that.

When you want to use the [Management API](#management-api) or the [Statistics API](#statistics-api), we suggest that you
use your own existing OIDC-based Identity Provider and configure your clients and the APIs to use this.
The demo service uses API keys authentication as an example.
When you want to use the [Management API](#management-api) we suggest that you use your own existing OIDC-based Identity
Provider and configure your clients and the APIs to use this. The demo service uses API keys authentication as an
example.

## B

Expand Down Expand Up @@ -103,17 +103,6 @@ A _Response_ always corresponds to a [Request](#request). When the [Request](#re
[Target](#target), the [Connector](#connector) will receive the _Response_ and send it back to the
[RelayServer](#relayserver) to be passed back to the [Client](#client).

## S

### Statistics API

The _Statistics API_ is a service that you can host publicly alongside the [RelayServer](#relayserver) or only on your
private network. The _Statistics API_ will provide you with statistical data about the whole system, i.e. how many
[Requests](#request) have been handled in what time frame, for what [Tenant](#tenant) these were handled, how many bytes
were transferred, how many [Connectors](#connector) are connected and a lot of more data.

In RelayServer v2, similar endpoints were an integral part of the RelayServer host process.

## T

### Target
Expand Down
26 changes: 13 additions & 13 deletions docs/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,22 @@ installation to work, you now can choose to use either Microsoft SQL Server or P
your own database connector for other database types.

In order to be able to deploy and run a reliable RelayServer v3 installation you need to plan out which components you
want to deploy in what configuration. While you can host the management api and the statistics api in the same process
as the actual RelayServer, you might want to distribute them into several different hosting processes.
want to deploy in what configuration. While you can host the management api in the same process as the actual
RelayServer, you might want to distribute them into several different hosting processes.

Be aware that if you only use a single RabbitMQ host and this fails (i.e. because of a hardware issue), your whole
Be aware that if you only use a single RabbitMQ host and this fails (i.e. because of a hardware issue), your whole
RelayServer will not be able to process any more requests.

If you need a reliable setup, we strongly suggest to operate your RabbitMQ and the database in a fault tolerant cluster
configuration on different physical machines. You also should operate at least two instances of the RelayServer main
server component and the token security service in order to provide fault tolerance and some sort of load balancing.
Depending on your use-case scenario it might be suitable to merge these two components into a single host project.

In regards to the management api and the statistics api, they are intended to be internal tools for you to help you
monitor and manage your installation. Depending on your needs you might get away with a single deployment of these
services. If you want you can also only spin up an instance of the management api when you have to change your settings
and shut it down otherwise to save resources. Alternatively, you can also use the management or statistics assemblies to
directly gather information or manage your tenants from your own internal tools and don't use the api at all.
In regards to the management api, it is intended to be an internal tool for you to help you to manage your installation.
Depending on your needs you might get away with a single deployment of this service. If you want you can also only spin
up an instance of the management api when you have to change your settings and shut it down otherwise to save resources.
Alternatively, you can also use the management assemblies to directly gather information or manage your tenants from
your own internal tools and don't use the api at all.

If your are unsure if your deployment scenario is well suited for your specific use-case, you can of course contact
Thinktecture AG. We do offer review and consulting services so that you can be sure that your deployment and operation
Expand Down Expand Up @@ -63,12 +63,12 @@ You then should roll out all connectors to the "v2.9" intermediate connector sta

## Migrate to RelayServer v3

Following your deployment plan, create the host projects for your RelayServer v3, management and statistics APIs. You
can use our docker examples as a starting point. We suggest using only our NuGet packages to build your RelayServer
system. Building from source might lead to possible unwanted modifications and makes troubleshooting extremely hard.
Following your deployment plan, create the host projects for your RelayServer v3 and management API. You can use our
docker examples as a starting point. We suggest using only our NuGet packages to build your RelayServer system. Building
from source might lead to possible unwanted modifications and makes troubleshooting extremely hard.

Be aware that we do not provide a ready-to run access control solution for the management and statistics APIs. If you
have an existing OIDC Identity Provider we suggest using this and to configure your API host projects to use this.
Be aware that we do not provide a ready-to run access control solution for the management API. If you have an existing
OIDC Identity Provider we suggest using this and to configure your API host projects to use this.

Migrate your server-side interceptor to the new interfaces of v3. In most cases you should be able to re-use most of
your existing logic and only have to adjust your code where it interacts with the actual request and response objects,
Expand Down
7 changes: 0 additions & 7 deletions src/Thinktecture.Relay.sln
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Thinktecture.Relay.Manageme
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Thinktecture.Relay.Server.Docker", "docker\Thinktecture.Relay.Server.Docker\Thinktecture.Relay.Server.Docker.csproj", "{29B6CBFA-43A8-447E-90AB-6B22CD0EA413}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Thinktecture.Relay.StatisticsApi.Docker", "docker\Thinktecture.Relay.StatisticsApi.Docker\Thinktecture.Relay.StatisticsApi.Docker.csproj", "{055B9A9E-9A45-4100-BA64-378443F6AB73}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Thinktecture.Relay.Connector", "Thinktecture.Relay.Connector\Thinktecture.Relay.Connector.csproj", "{FF37E5FF-65D3-4EFD-B87F-8D456075402E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Thinktecture.Relay.Server.Protocols.SignalR", "Thinktecture.Relay.Server.Protocols.SignalR\Thinktecture.Relay.Server.Protocols.SignalR.csproj", "{1878FC63-129B-405E-B63B-386AB7CF0590}"
Expand Down Expand Up @@ -147,10 +145,6 @@ Global
{29B6CBFA-43A8-447E-90AB-6B22CD0EA413}.Debug|Any CPU.Build.0 = Debug|Any CPU
{29B6CBFA-43A8-447E-90AB-6B22CD0EA413}.Release|Any CPU.ActiveCfg = Release|Any CPU
{29B6CBFA-43A8-447E-90AB-6B22CD0EA413}.Release|Any CPU.Build.0 = Release|Any CPU
{055B9A9E-9A45-4100-BA64-378443F6AB73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{055B9A9E-9A45-4100-BA64-378443F6AB73}.Debug|Any CPU.Build.0 = Debug|Any CPU
{055B9A9E-9A45-4100-BA64-378443F6AB73}.Release|Any CPU.ActiveCfg = Release|Any CPU
{055B9A9E-9A45-4100-BA64-378443F6AB73}.Release|Any CPU.Build.0 = Release|Any CPU
{FF37E5FF-65D3-4EFD-B87F-8D456075402E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF37E5FF-65D3-4EFD-B87F-8D456075402E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF37E5FF-65D3-4EFD-B87F-8D456075402E}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand Down Expand Up @@ -190,7 +184,6 @@ Global
{599D7AD9-7901-4A20-A81F-6C71E60A71DF} = {3126FA1D-9755-4842-BDE0-34F7EADF9969}
{D1866E02-8665-4166-8F6D-ECED1BAAEF7E} = {3126FA1D-9755-4842-BDE0-34F7EADF9969}
{29B6CBFA-43A8-447E-90AB-6B22CD0EA413} = {3126FA1D-9755-4842-BDE0-34F7EADF9969}
{055B9A9E-9A45-4100-BA64-378443F6AB73} = {3126FA1D-9755-4842-BDE0-34F7EADF9969}
{4884F96C-5129-424F-9DDB-8DD91229D4B3} = {3126FA1D-9755-4842-BDE0-34F7EADF9969}
{0E17E737-E4B5-4198-A784-D543187F15D0} = {D8D76BB9-1D64-43C5-9B7E-710CF4A35374}
{1878FC63-129B-405E-B63B-386AB7CF0590} = {D8D76BB9-1D64-43C5-9B7E-710CF4A35374}
Expand Down

This file was deleted.

This file was deleted.

51 changes: 0 additions & 51 deletions src/docker/Thinktecture.Relay.StatisticsApi.Docker/Dockerfile

This file was deleted.

50 changes: 0 additions & 50 deletions src/docker/Thinktecture.Relay.StatisticsApi.Docker/Program.cs

This file was deleted.

This file was deleted.

This file was deleted.

39 changes: 0 additions & 39 deletions src/docker/Thinktecture.Relay.StatisticsApi.Docker/Startup.cs

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit f9fb100

Please sign in to comment.