📜 ⬆️ ⬇️

All the lie about SuperGabr



Taking this opportunity while everyone is sleeping, I will tell you all the untruth about the super gabra. I hope colleagues will not mind if I bring a little ambiguity in the question, what is a super gab and why is it needed from a technical point of view?

So, for those who are interested, I will tell you about the component parts of this project.
')


Introduction


Indeed, for the end user, the supergab is in most cases other icons and some minor improvements. However, there is another side to the question.

The first thing to say at once is: the supergab is a completely independent project that did not inherit a single line of code and not a single bug of the old version. All bugs are unique. The database has also been designed from scratch.

Maybe someone noticed that for almost a year on the old version of the Habr there was not a single functional improvement. Yes, this is so, the whole year the habrahabr changed only in the direction of performance optimization. It was decided that it would be more expedient to develop a project from scratch, since the old version is rather difficult to further develop, at least with our team, with our views.

Here we should pay tribute to Sergey Korovkin : his version of the Habr was written in a fairly short time, and probably no one then knew to what extent it will grow. Like many other products of logical labor, it had its drawbacks, some of which were eliminated by us as far as possible. I believe that the old Habr fulfilled its role, regardless of how and on what it was implemented. It seems to be a very logical assumption.

Technical team


The leading developer of the supergabra is Super-Ilya , he is the author of the first submit to our repository. At various times, Dima , Vova and Anton joined him to help. Each of them was engaged in their own part of the project. Worked on the project and a team of technologists: Maxim , Marat , Lena , Vitya and Karaboz . Everyone a little, did not participate only lazy.

Technology


Supergame is designed for PHP 5 .
Base classes are provided with the Propeller framework, - our own product.
Database - MySQL
Front End Server - Nginx , Backend - Apache
Temporary data storage facility - Memcached
Extremely fast Blitz template engine created by Alexei Rybak is used.
The search for the project is carried out at least as fast (all comments are indexed in about 5 minutes, and this is when they are transmitted via an http connection in xml-format) by the open source search engine Sphinx , founded by Andrey Aksyonov .
User texts are processed by the intellectual system of artistic correction of texts (ISHKT) Jevix , the php-version of which is developed by Denis Egorov

Why all this was started?


All this, we are sure, will allow the Habrahabr project to really grow and it is easier to transfer the growing load.

A spoon of tar


As people say: “This could be because you hit a bug,” in other words, right after launch, we came across new “pitfalls” of the MySQL server. The server unpredictably stopped working, even with average busyness, which in principle is typical of servers of this type, which sometimes have to work a little more than usual. However, we are dealing with this issue and, I am sure, a decision will be worked out soon.

update : literally version 5.0.67 has just been installed. Let's see how long it will last.

/ super / 500 /?


This is not a viral action or mockery, it's just such a stupid trick-experiment. It seemed to us that people need at least something to occupy themselves while the project is offline and we have not come up with anything better. This could come to mind, only to us, would-be specialists.

If someone wants to repeat a similar experiment on his project, then I will not hide, a similar effect is achieved quite simply: especially for this, one very smart person has developed a hidden folder server accelerator - Nginx. Here is how it is done:
     location / {
         ...
         rewrite ^ (. *) $ / super / 500 / redirect;  # Secret key
         ...
     }

     location / super {
         autoindex on;
         index index.html index.htm;
         root /usr/home/sites/habrahabr.ru/www;
     }

     location / super / core {
         deny all;
     }


In fact, one can argue long about how such things, whether errors or deliberate actions, give rise to emotions and discussions. Emotions are bad and good.

Actually, we have enough other problems now, but the implementation of such a joke did not require much time. This is better than nothing. Without this, I, and I think we all, would be bored of hanging around the whole weekend in front of the screens, turning over numerous data sets.

Conclusion


Thank you all for your patience, forgive me once again to draw your attention to the fact that there are some technical difficulties that we will deal with in the near future. Thank you for your understanding, the team really tried. Errors are corrected every day, we are open to ideas and comments.

All this is not true, so please do not consider this publication a reason to discuss the best technologies in the world.

Source: https://habr.com/ru/post/36692/


All Articles