Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Dyskusja bibliotek Discordowych


Pytanie

Opublikowano

Cześć, mam ciekawy dylemat.

Dla testu zrobiłem sobie jeden projekt bota Discorda w trzech językach, przy użyciu bibliotek Java JDA, discord.py oraz za pomocą js-ową. Zacząłem sobie porównywać obciążenie i ilość kodu. Zrobiłem go w najprostszej formie, tj. jedno polecenie /ping i odpowiedź pong. Na moich debianowych dockerach wskazuje, że najwięcej zaciąga mi zasobów java. Jednak mam pytanie do osób bardziej doświadczonych - jak to wygląda przy większych projektach? Biorę pod uwagę, że moje wnioski są błędne, jednak tutaj mam sytuację jeden serwer. 

 

I pytanie numer dwa - w jaki sposób rozwiązujecie temat większych botów, multiguildowych? Ja zastanawiałem się nad tym, aby wdrożyć to też z API na Mavenie. 

 

Piszę dla zabawy, może w przyszłości dalekiej coś wypuszczę, na ten moment próbuję zaspokoić swoją ciekawość

call of duty zombies GIF by Omaze

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Opublikowano

Przy tak prostym teście jak /ping wyniki mogą być trochę mylące. Java często wygląda ciężej głównie przez samą JVM, która na start bierze więcej pamięci. Przy większych projektach zwykle i tak ważniejsze są rzeczy typu ilość eventów z gateway, cache czy operacje na bazie, więc różnice między językami aż tak się nie rzucają w oczy.

Jeśli chodzi o boty na większą liczbę serwerów, to najczęściej robi się to przez shardowanie – biblioteki mają to wbudowane (np. w JDA jest ShardManager). W większych projektach czasem rozdziela się też shardy od logiki bota, żeby łatwiej było skalować.

image.png

  • 0
Opublikowano

Hej, nie wiedziałem że jeszcze Ciebie tutaj spotkam, czasu Metina stanęły w oczach 🙂

 

Mam świadomość że ping-pong jest (delikatnie mówiąc) prymitywnym sposobem testu. A jeszcze jedno, jak zazwyczaj idą większe boty? Jest to kierunek w jeden monolit, czy bardziej module manager? Ja osobiście jak sobie rozpisywałem pomysł, to chciałem w module managera pójść z postgresem i redisem. Do tego osobno strona na vue i backendem będącym gatewayem bot <-> front. 

call of duty zombies GIF by Omaze

  • 0
Opublikowano
11 godzin temu, RafalR napisał:

Hej, nie wiedziałem że jeszcze Ciebie tutaj spotkam, czasu Metina stanęły w oczach 🙂

Hejka, no mało co tu zaglądam, ostatnio chyba jeszcze jak hooltras przejął forum. Fajnie w sumie, że to w jakikolwiek sposób jeszcze żyje 😄

11 godzin temu, RafalR napisał:

Mam świadomość że ping-pong jest (delikatnie mówiąc) prymitywnym sposobem testu. A jeszcze jedno, jak zazwyczaj idą większe boty? Jest to kierunek w jeden monolit, czy bardziej module manager? Ja osobiście jak sobie rozpisywałem pomysł, to chciałem w module managera pójść z postgresem i redisem. Do tego osobno strona na vue i backendem będącym gatewayem bot <-> front. 

Z tego co widziałam to raczej ludzie odchodzą od jednego wielkiego monolitu przy większych botach, bo później ciężko to ogarniać. Moduły albo osobne serwisy są po prostu wygodniejsze do rozwijania.

Postgres + Redis to w sumie dość standardowy zestaw przy takich rzeczach, więc brzmi sensownie. Ten pomysł z osobnym backendem między botem a frontem też spoko, sporo osób tak to rozdziela.

image.png

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...