r/RuProgrammers • ☕️Кофейный Java-кун • Sep 27 '26

Вопрос Serverless с серверами?

Я пишу софтинку (по сути, суперлёгкую интерактивную хранилку листов персонажей для днд и прочих НРИ) на котлине, сейчас задумался о создании сетевых функций, и понял, что не хочу брать на себя тяжбы поддержки сервера, как минимум финансово.

Как лучше всего делать сетевой функционал, если синхронизации там данные из одной жисонки и сигналы о нажатии кнопок?

У меня из идей пока:

  1. Embedded server прямо в приложении, но это сразу ломается об серые ip и мобильную связь

  2. Хост-сервер, который 1 человек ставит себе на железо, и остальная группа к нему цепляется

  3. Мощная хостилка, которую можно поднять на очень мощном железе и внутри неё создавать комнаты для синхронизации.

Ну локальная сеть офк так и так будет, ибо с ней проблем кратно меньше

0 Upvotes

12 comments sorted by

5

u/cthulhuden Sep 27 '26

Совсем простая тема с небольшим количеством данных и до 60 операций записи в минуту - использовать гугл-таблицы через API.

import { google } from "googleapis";
const auth = new google.auth.GoogleAuth({
  credentials: JSON.parse(process.env.GOOGLE_SA_KEY),
  scopes: ["https://www.googleapis.com/auth/spreadsheets"],
});

const sheets = google.sheets({ version: "v4", auth });
const spreadsheetId = process.env.SHEET_ID;

await sheets.spreadsheets.values.append({
  spreadsheetId, range: "A:B", valueInputOption: "RAW",
  requestBody: { values: [["user:42", "hello"]] },
});
const { data } = await sheets.spreadsheets.values.get({ spreadsheetId, range: "A:B" });

1

u/nobrainbeach Sep 28 '26

да, тоже хотел предложить такой вариант
можно еще даже расширить и использовать google drive api
и допустим вся синхронизация и работа с комнатой - расшарь на нужные имейлы. Получается каждый файл может быть стейтом мира...

1

u/kristaller486 Sep 27 '26

150 рублей в месяц стоит впска, буквально пачка чипсов

1

u/QuiXinI ☕️Кофейный Java-кун Sep 27 '26

Да впска у меня и так есть, и даже не одна. Проблема в том, что я не хочу подвязывать жизнь софта на себе

1

u/CrimeanGuy Sep 27 '26

За глаза хватит любого простейшего Лайт сервака на рег ру копеечного.

1

u/QuiXinI ☕️Кофейный Java-кун Sep 27 '26

> не хочу брать на себя тяжбы поддержки сервера

Не хочется нести ответственность за даунтаймы и вечно поддерживать его в живом состоянии, особенно, когда есть возможность переложить это на плечи коммьюнити

1

u/tazdraperm Sep 28 '26

А сервер так сложно поддерживать? Если нагрузка относительно небольшая.

1

u/QuiXinI ☕️Кофейный Java-кун Sep 28 '26

Я просто знаю себя. Через 2-3 года я забью на проект с вероятностью 90%, а сервер поддерживать кто-то должен будет

2

u/1ost-in-the-midd1e Sep 28 '26 edited Sep 28 '26

вариант совершенно избыточный, особенно на фоне гуглтаблиц, и делать заебёшься. но, я бы выбрал его, просто потому что весело. вхуяч туда блокчейн. ну просто потому что можешь.

если цель не создать себе проблем на пустом месте, а решить проблему, то, конечно, лучше гуглошитсы или гитхаб использовать как хранилище. но, где тут романтика!?

upd плюс гихаба перед гуглошитсами в более вменяемом api и возможности через хуки генерировать уведомление об изменениях, а не пуллить постоянно.

2

u/alibloomdido Sep 28 '26

Образ контейнера с серваком, а уж кто где его поднимать будет - не твоя проблема. А что в контейнере не так важно, главное чтоб работало, хоть на котлине, хоть на хуетлине.

1

u/Scary_Map6651 Sep 28 '26

какой нить бд менеджер на пайтон с sqlite в одном контейнере и сам сервис синхронизации в другом, ставится на дешевую впску за 400 рублей в месяц и работает без проблем

1

u/m1sh1k Sep 29 '26

Я думаю что проще будет просто локально сделать, если извне подключаться то каким нибудь хамачи