Каковы были технические ограничения, которые достигли Twitter используя Ruby on Rails?

ruby

(Pot) #1

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


(Константин) #2

Могут появиться некоторые серьезные проблемы, когда дело доходит до демистификации технологии Twitter и использования Rails в качестве одного из основных компонентов.

  1. Сначала они столкнулись с тем, что все было в одной кодовой базе, и как приложение, так и инженерная команда были монолитными.

  2. Их система хранения MySQL достигла своих пределов, аппаратное обеспечение не было полностью использовано.

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

Когда я смотрю эту тему, я наткнулся на эту статью и длинный список того, что они разбирают там. Посмотрите. Например:

Как мы перешли с 30 серверов на 2: Go

Nice rant, and I mostly agree with it, but there are a few slow things about the ways that some languages are Let’s take this line of Python code, for example, and look at how the CPython interpreter runs it:

return x + 42

This turns into the following bytecode instructions:

LOAD_FAST       0 (x)
LOAD_CONST      1 (42)
BINARY_ADD
RETURN_VALUE

https://news.ycombinator.com/item?id=5365096