V
V
Vladimir Grabko2016-05-30 16:01:20
go
Vladimir Grabko, 2016-05-30 16:01:20

What can you say about architecture?

ae5c78a954a84fe6a18b7798be6ca6b5.png
main -> view on js
http rpc -> there is a stupid proxy between http and tcp rpc (based on fasthttp). All other services
work on RpcTcp
auth service -> the service is responsible for dealing with user accounts. It has its own database (auth db)
returns jwt
service all function -> there are all functions that, according to the idea, do not create a large load. As
soon as some function from that service takes away 30% of calls to
the service, it will be moved to a separate service.
battle service -> this server just knows on which node the room (battle node) is created
battle bot -> Bot. Works with all nodes.
chat * is similar to the battle part, only instead of a bot there is an auto moderator. He moderates
public chats automatically (a primitive swear filter for which he automatically bans in the
chat),
each node has its own storage. And in all function, for each module (some kind of feature), it also has its own database so that in case of a heavy load, I could easily move the whole thing into a separate service.
The bot and the moderator are scaled by specifying the addresses to them in the node configs)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
L
lubezniy, 2016-05-30
@VGrabko

Authorization not scalable? In theory, there can be a maximum number of requests to it.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question