Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔍 Implement multiplayer micro-stack #174

Closed
23 tasks done
Terkwood opened this issue Feb 27, 2020 · 0 comments · Fixed by #414
Closed
23 tasks done

🔍 Implement multiplayer micro-stack #174

Terkwood opened this issue Feb 27, 2020 · 0 comments · Fixed by #414
Labels
enhancement New feature or request

Comments

@Terkwood
Copy link
Owner

Terkwood commented Feb 27, 2020

Rationale

In the current multiplayer implementation, the first person to visit the site in a given period has to endure an impossibly long wait time (75 seconds+) while the bigger box with Kafka starts up. Having a tiny little implementation dependent on Redis Streams can solve this.

RAM footprint of the total system will decrease by about 100x.

Our goal is to sunset the Kafka implementation.

Write the following

Testing and verification

Found work

Admin cleanup

Deferred work

We don't need the participation service ported immediately, as it was never actually finished for the old JVM stack. Here's the ticket related to that work: #325

We can delete Kafka and all related apps, once this ticket is complete. See #229

Memory usage tracking

With micro-judge v0.1.1

 docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
NAME                           CPU %               MEM USAGE / LIMIT          
bugout_reverse-proxy_1         0.00%               5.852MiB / 62.77GiB
bugout_micro-judge_1           0.00%               4.223MiB / 62.77GiB
bugout_micro-color-chooser_1   0.00%               4.156MiB / 62.77GiB
bugout_micro-changelog_1       0.00%               4.859MiB / 62.77GiB
bugout_micro-sync_1            0.00%               4.297MiB / 62.77GiB
bugout_gateway_1               0.00%               4.5MiB / 62.77GiB
bugout_micro-game-lobby_1      0.00%               4.543MiB / 62.77GiB
bugout_redis_1                 0.05%               9.043MiB / 62.77GiB
@Terkwood Terkwood added the enhancement New feature or request label Feb 27, 2020
@Terkwood Terkwood pinned this issue Feb 27, 2020
@Terkwood Terkwood changed the title Implement micro-stack 🔍 Implement micro-stack Feb 27, 2020
This was referenced Mar 7, 2020
@Terkwood Terkwood changed the title 🔍 Implement micro-stack 🔍 Implement multi-player micro-stack Mar 23, 2020
@Terkwood Terkwood changed the title 🔍 Implement multi-player micro-stack 🔍 Implement multiplayer micro-stack Mar 23, 2020
@Terkwood Terkwood unpinned this issue Apr 25, 2020
@Terkwood Terkwood mentioned this issue May 8, 2020
5 tasks
@Terkwood Terkwood pinned this issue May 8, 2020
@Terkwood Terkwood unpinned this issue May 8, 2020
@Terkwood Terkwood pinned this issue Sep 17, 2020
Terkwood added a commit that referenced this issue Sep 23, 2020
Advances #174 (micro multiplayer stack)

* Stub out project

* Add dependency

* Add deps

* Delete stub

* Stub out components

* Add model and API structs

* Write model and API

* Add topics

* Stub out streaming

* Add dockerfile

* Add create_consumer_group

* Add client to components

* update main

* Start writing test , add history repo trait

* Advance test and rename things

* Advance test and stub methods

* structure test

* Advance test, rework client and components

* advance test

* advance test

* advance test

* advance test

* Advance test

* advance test

* Advance test

* implement xadd for history-provided topic

* nit

* implement stream processing

* call: convert gamestate to history

* stub test

* write test

* implement to-history

* finish stream processor

* check game states ack in test

* Update docker-composes

* Write deser

* write acks

* impl xread

* advance fn

* finish xread

* impl redis history get

* touch ttl

* write to history repo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant