LINUX.ORG.RU

Выбор «С» веб фреймворка для высоконагруженного проекта с сервисной архитекрурой

 , duda.io, , ,


0

6

На самом деле выбор между двух (потому что больше ничего вменяемого не нашёл) это kore.io и duda.io и тот и тот умеют в PostgreSQL/ssl/вебсокеты и прочие плюшки. kore.io очень мал про него говорить особо нечего, есть жизненно необходимый минимум, остальное для доработки, а вот кто работал с duda.io? Как он вам?

★★★★★

Последнее исправление: Dron (всего исправлений: 1)

Зачем тебе «фреймворк»? Подключай нужные библиотеки, да пиши код.

anonymous
()
Ответ на: комментарий от anonymous

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

Dron ★★★★★
() автор топика
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Dron

Ну, я хз, как по мне уж проще и быстрей это на том же aiohttp написать, конечно если тебе нужен результат, а не шашечки.

Задачу ты себе поставил воистину титаническую.

itn ★★★
()
Ответ на: комментарий от itn

Задачу ты себе поставил воистину титаническую.

Да ладно тебе, всё сложное лишь куча элементарного ::)

Dron ★★★★★
() автор топика

А си тебе нахрена? При выполнении хттп заброса, 99,995% времени занимает запрос к базе данных и передача по сети, от си ты получишь то, что оверхед из-за меньшего рантайма будет чуток меньше, ну может жсон дробиться быстрее будет немного, не более.

nikolnik ★★★
()
Ответ на: комментарий от nikolnik

может жсон дробиться быстрее будет немного

В популярных скриптовых языках для этого есть нативные модули

annulen ★★★★★
()

Выбор «С» веб фреймворка

Зачем? Зачем мучиться, чтобы на выходе получилось то же, что после пхп? Хотя «методы» из си уже сделали жабаскрипт.

PostgreSQL
высоконагруженного

Помножил на ноль.

anonymous
()
Ответ на: комментарий от nikolnik

При выполнении хттп заброса, 99,995% времени занимает запрос к базе данных

Вебчик не ограничивается хттп, да и база данных не ограничивает sql-дерьмом.

передача по сети

Какое отношение это имеет к теме?

что оверхед из-за меньшего рантайма будет чуток меньше

Опять какая-то ахинея.

не более

Мир не заканчивается хелвордами. Чем больше логики - тем более проявляется ущербность недоязыков т.к. её уже не заменишь бингами на «нативные» готовые реализации.

anonymous
()
Ответ на: комментарий от annulen

В популярных скриптовых языках для этого есть нативные модули

От того это и будет «немного». Если бы это не учитывалось, то там было бы не «неамного», а много, очень много.

anonymous
()
Ответ на: комментарий от nikolnik

А си тебе нахрена?

А в чём проблема? Типа сложнее писать? Нет не сложнее, больший объём кода который трудно будет поддерживать? Нет не больший (в разумных пределах), нет не труднее. Меня устраивает этот язык, всю работу делают библиотеки,сторонние и свои, сам язык лишь описание логики работы.

Dron ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Зачем? Зачем мучиться?

В смысле? Я буду мучатся с версиями/модулями/херодулями этих нод да пхп, тут я просто буду писать код который будет работать железно и без внезапных отваливаний чего-либо. (если руки будут прямы конечно же)

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

Если тебя устраивает уйма remote code execution на ровном месте и сегфолтов, а заодно раза в 3-4 более дорогая разработка — проблем нет.

x3al ★★★★★
()
Ответ на: комментарий от anonymous

Помножил на ноль.

Нет, постгр для постоянного хранения в репликах, для горячих данных будет in-memory key-value

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

Да, но нужен костяк для удобства, велосипедить с нуля трудоёмко в одиночку, я хочу иметь оттестированную основу над которой я уже буду навешивать свой код.

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

Хочешь успешно ваять - выкидывай как можно больше дерьма. Кроме вебсокетов ничего не нужно. Если мартышкам нужен рест и прочее дерьмо - ваяешь им на пхп rest-bridge пусть пускают у себя на локалхосте.

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

Ога, а в «не либе» будет всё совершенно иначе.

Ну и мартышка-стайл «обёртка» - это уже диагноз и с таким к сишке лучше не подпускать. Это множит на ноль весь смысл её применения.

anonymous
()
Ответ на: комментарий от Dron

В смысле? Я буду мучатся с версиями/модулями/херодулями этих нод да пхп

Я тебе пхп и не предлагаю. Такова реальность, что на сишке не сваять удобных интерфейсов. Некоторые пытаются - вон методы наколхозили, но это такое себе удобство. Поэтому от крестов не уйти.

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

Ой, сколько я пытался найти что-то «железно рабочее» и вменяемое. Это не привело меня к у спеху. Возможно тебя приведёт.

anonymous
()
Ответ на: комментарий от x3al

уйма remote code execution

Ну, никто не застрахован, с kore такого не будет, по duda я не в курсе вот и спросил кто имел реальное дело с ним.

сегфолтов

Ну так надо просто тестировать код и исключать эти сегфолты, лучше если я допущу ошибку и она будет фатальна и я её исправлю, чем если она будет тихо проглочена скриптовым языком. Да и вообще, я не говорил что я пишу всё на Си, что то возможно на lua/php/python/bash то что не будет работать с сетью, какие то побочные действия всегда нужны.

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

Типа сложнее писать?

Типа нет сотен готовых юиюлиотек/фреймворков/прочих приблуд, нет DSLей для описания типовых вещей вроде роутинга и т.д.

annulen ★★★★★
()
Ответ на: комментарий от x3al

а заодно раза в 3-4 более дорогая разработка

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

Dron ★★★★★
() автор топика
Ответ на: комментарий от annulen

Как нет и контейнер-сервелтной инфраструктуры, позволяющей тебе писать только приложение, и использовать его с одним из готовых серверов, коих может быть стопицот под разные хотелки режимы вроде префоркинг или стриминг, HTTP или FastCGI или uWSGI какой-нибудь, с поддержкой горячего обновления без остановки управляющего процесса и пр. ынтерпрайзом

annulen ★★★★★
()
Ответ на: комментарий от Dron

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

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

annulen ★★★★★
()
Ответ на: комментарий от Dron

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

Так бы сразу говорил) Я бы начал писать на kore.

itn ★★★
()
Ответ на: комментарий от anonymous

А для чуть-менее горячих? Это почти ничего не меняет.

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

Dron ★★★★★
() автор топика
Ответ на: комментарий от x3al

Если тебя устраивает уйма remote code execution

Поподробнее об этом. Ты случайно там не перепутал? REC это про мейнтсрим, а не про сишку.

anonymous
()
Ответ на: комментарий от annulen

Да как то сыкотно прям вообще с нуля ::) По крайней мере я не тороплюсь, присматриваюсь ко всем вариантам

Dron ★★★★★
() автор топика
Ответ на: комментарий от itn

Так бы сразу говорил) Я бы начал писать на kore.

Да вот пока больше вариантов и не вижу, он прозрачен и прост, если уж чего не будет проблем под себя подогнать мелочи. Я просто думал тут про дудку кто знает, она всё же пожирнее и побольше может, но от этого есть неуверенность в надёжности =)

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

Да как то сыкотно прям вообще с нуля

естественно, http-парсер взять готовый, и event loop если нужен то не изобретать

annulen ★★★★★
()
Ответ на: комментарий от annulen

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

Dron ★★★★★
() автор топика
Ответ на: комментарий от Dron

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

Доступ к данным учётных записей не активный? Сильно.

Есть часто запрашиваемые данные, этот вопрос решает сервисная архитектура с репликацией

Это тогда «все» данные. Они бывают и холодными и горячими и тёплыми. И этот вопрос никакая подобная «архитектура» не решает. Я то думал тебе репликация нужна для другого - ошибался.

воркерами и балансером

Смешно.

который будет разруливать нагрузку, если запросов слишком много, поднимаем ещё воркер делаем ещё реплику и всё, проблем нет.

Ога, вращение планеты остановит на время «подъёма» реплики. Ну и «проблем нет» - это сильно.

В любом случае - главное верить. Я не знаю как человека с логикой рядовой веб-мартышки занесло в сишку, но что поделать.

Ну и да, это ничего не меняет. К нулю ты зачем-то пытаешься прикрутить «быстрое» хттп/вебсокет. Это не имеет смысла.

anonymous
()

Пиши прототип на PHP Python'e, потом критичные вещи можешь переписать как FastCGI/SCGI-модули

anonymous
()
Ответ на: комментарий от Dron

Роутинг можно попробовать на re2c сделать, благо что в 1.0 завезли захватывающие скобки. Будет весьма декларативно и очень быстро :)

annulen ★★★★★
()
Ответ на: комментарий от anonymous

Кстати да, лично я бы на перле накатал и опсмотрел, че да как. Хотя если ТС всю жизнь писал на сишечке, тут можно много времени потерять

annulen ★★★★★
()
Ответ на: комментарий от anonymous

Ну, может я где то не прав, о чём то не в курсе, на своих ошибках учатся ::) Ну ты же понимаешь что сейчас стадия «проектирования», не придирайся. А лучше по тем моментам где ты видишь проблемы дай совет )

Dron ★★★★★
() автор топика
Ответ на: комментарий от x3al

Схерали гости понаехали?

На С писать проще, чем на любом ЯП. Очень хороший и удобный язык. А чтобы сегфолтов не было, нужно проверять код, да и использовать обертки.

Всякие цепепе здесь нафиг не втарахтелись: не нужна ООПщина в данном случае. А уж говно вроде пхытонов пусть предлагатели себе в задницу обратно засунут!

anonymous
()
Ответ на: комментарий от anonymous

Плюсую: REST в нашем мире нафиг не нужен. А с появлением local storage не нужны стали и cookies. Вебсокетов за глаза для любого функционала хватит.

Правда, к сожалению, все равно один говноязычок немножко придется поштудировать: без жабоскрипта в вебе делать нечего. Разве что статические странички раздавать...

anonymous
()
Ответ на: комментарий от anonymous

На С писать проще, чем на любом ЯП

Битики подвигать да. А в вебе - о чем может быть речь с языком, в котором даже нативного строкового типа нет? Пффф.

annulen ★★★★★
()
Ответ на: комментарий от anonymous

На С писать проще, чем на любом ЯП.

Нет. И писать код без ошибок — сложнее, с этим не справляются и в крупных компаниях, способных оплатить неплохих кодеров.

Выставлять сложный код на сях (и плюсах) в веб без песочницы — безумие. Исключение — только очень простые и проверенные вещи, но проверка сильно нетривиальна.

x3al ★★★★★
()
Ответ на: комментарий от Deleted

А что, есть сомнения, что кроме КОИ8-Р кириллице ничего и не нужно?

Насчет С в вебе — я не встречал ничего более удобного. Не пыхпых же!

anonymous
()
Ответ на: комментарий от slapin

На пхытоне или цепепе ошибиться значительно проще, чем на С. Потому как чем проще язык, тем проще на нем что-то писать.

anonymous
()
Ответ на: комментарий от anonymous

Плюсую: REST в нашем мире нафиг не нужен.

Мартышкам нужен.

А с появлением local storage не нужны стали и cookies.

На самом деле нет. Как мне идентифицировать пользователя? На самом деле это не нужно, т.к. по хттп гоняют что-то только мартышки, но в любом случае.

Вот типичный пример на тему гуйни. У меня есть «ваншот» инициализация гуйни. У меня есть бутстрап, который отдаётся по хттп( от этого никуда не уйти), но. Есть проблема - мне надо заинжектить юзердаду в бутстрап - как это сделать без куки? Никак.

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

Делаю без жабоскрипта( ну как без, рантайм всё равно ваять надо, но что поделать). Есть емскриптен, да и васм не за горами.

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

anonymous
()
Ответ на: комментарий от nikolnik

Зато можно на лорчике понтоваться перед задротами.

Deleted
()
Ответ на: комментарий от Twissel

Очередное лсное чудовище десятки раз мною тыканное в дерьмо. Зачем ты раскудахтался? Весь смысл существования подобного никчёмного, лсного мусора - придти, наврать и возможно, кто-то в это поверит.

Я бы понимал, если бы ты попытался со мною поспорить. Рассказал бы пацанам о том, в чём я не прав. А так только кукареку.

anonymous
()
Ответ на: комментарий от slapin

Как будто это зависит от языка программирования :)

В C эти ошибки приводят к более серьёзным последствиям. C и плюсы называются «небезопасными» не просто так.

x3al ★★★★★
()
Ответ на: комментарий от anonymous

С пятью звездами путать царя с Эдиком?

Не волнуйся, он не может перепутать - жопа помнит. Подобные крысы помнят субъект изобличающий их никчёмность.

Анону за тебя стыдно.

Наличие меня не отменяет эдика, а наличие эдика меня.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.