 Мерль
    Мерль 
    
    
        
        
        
        Жаль, я такой лайтиде предложил, а его пять секунд попинали и забыли 
        Омень
    
 
     A.
    A. 
    
    
        
        
        
        Я на него глянул, закрыл, и с радостью глянул на саблайм
    
 
     A.
    A. 
    
    
        
        
        
        Мне саблайм вообще всё заменяет
    
 
     Oleg
    Oleg 
    
    
 
     A.
    A. 
    
    
        
        
        
        Здесь вроде было
    
 
     A.
    A. 
    
    
        
        
        
        Слепить надо через @vote опрос
    
 
     Мерль
    Мерль 
    
    
        
        
        
        Похоже у меня одного такие специфичные вкусы
    
 
     A.
    A. 
    
    
        
        
        
        [Из песочницы] Пишем backend на go с минимальными усилиями при помощи GoJs
        https://habrahabr.ru/post/301762/
    
 
     Slava
    Slava 
    
    
        
        
        
        мне нужны контрибьютеры
    
 
     A.
    A. 
    
    
        
        
        
        дыа
    
 
     Мерль
    Мерль 
    
    
 
     Slava
    Slava 
    
    
        
        
        
        сюда, например https://github.com/bot-api/telegram
    
 
     Мерль
    Мерль 
    
    
 
     Мерль
    Мерль 
    
    
 
     Oleg
    Oleg 
    
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Ребята, кто что думает про микросервисы?
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Именн атомизация на функции, а не SOA, как всегда было раньше
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Уже второй проект встречаю где микросервисов под 30 штук, мне кажется это overkill
    
 
     Oleg
    Oleg 
    
    
 
     Мерль
    Мерль 
    
    
        
                    
                        
                            
                            Ребята, кто что думает про микросервисы?
                        
                    
                
        
        
        ИМХО идея здравая (в смысле, тупенькие простенькие кирпичики всегда приятнее, чем здоровенная бандура ф-ля-давайте-напишем-что-то-вроде-ядра)
        С другой стороны хорошо-бы без фанатизма, типа когда у нас есть микросервис, который правильно расставляет отступы в документе
    
 
 
     Oleg
    Oleg 
    
    
 
     Мерль
    Мерль 
    
    
        
                    
                        
                            
                            Где граница?
                        
                    
                
        
        
        Когда микросервисов в проекте больше, чем разработчиков :3
    
 
 
     Marsel
    Marsel 
    
    
        
        
        
        имхо стороны потенциально большой проект будет "проще" писать со временем, в теории. ну т.е. с ростом кодовой базы будет меньше борьбы со старым кодом, время на разработку по идее не должно увеличиваться пропорционально усложнению ядра.
    
 
     Oleg
    Oleg 
    
    
 
     Oleg
    Oleg 
    
    
 
     Marsel
    Marsel 
    
    
        
        
        
        ну да )
    
 
     Igor
    Igor 
    
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Пр таком подходе есть проблема с отладкой и согласованностью версий апи(библию микросервисов не читал пока)
    
 
     Igor
    Igor 
    
    
        
        
        
        В этом то вся пока и проблема для меня. Слишком много вариантов.
    
 
     Oleg
    Oleg 
    
    
 
     Marsel
    Marsel 
    
    
        
        
        
        недавно на хабре была хорошая аналогия с О большой. т.е. можно например кодовую базу и работу с ней оценивать по методу оценки алгоритмов. ну т.е. если ядро постоянно усложняется - то имеет смысл задуматься о микросервисах. с другой стороны если ядро постоянно усложняется, то вероятно дело уже в людях, и может им уже не помогут микросервисы :)
    
 
     Slava
    Slava 
    
    
        
        
        
        монолит наше всё
    
 
     Marsel
    Marsel 
    
    
        
        
        
        ну т.е. вероятно оценка необходимости по О большой может помочь, в теории )
    
 
     Oleg
    Oleg 
    
    
 
     Marsel
    Marsel 
    
    
        
        
        
        ну я про сам подход, на самом деле. можно процессы оценивать схожим образом и уже от этого плясать
    
 
     Igor
    Igor 
    
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Как быть с реестром этих сервисов, логг рованием, health check?
    
 
     Marsel
    Marsel 
    
    
 
     Marsel
    Marsel 
    
    
        
        
        
        ну микросервисы это логистика в первую очередь. помню видел выступление системного архитектора с варгейминга, он там немного рассказывал как у них работают со всеми сервисами: расписание релизов, четкие требования, дедлайны. но это в сложном случае.  частично совсем простейшие микросервисы могут быть менее критичными в плане сложности, с другой стороны чем проще, тем больше кол-во микросервисов. тут видимо уже архитектор должен решить сам, что ему сейчас нужно. ну и вновь возвращаемся к здравому смыслу.
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Если дать каждому по одному микросервису, все встает на свои места :)
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Пишешь на чем хочешь, поддерживаешь свой код как нужно и тд и тп
    
 
     Мерль
    Мерль 
    
    
        
        
        
        Дай человеку монолит, и у него будет работы на год.
        Дай человеку микросервис, и у него будет работа на всю жизнь
    
 
     Igor
    Igor 
    
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Что проще поддерживать? Ведь это самый важный показатель качества по
    
 
     Marsel
    Marsel 
    
    
        
        
        
        https://www.manning.com/books/the-tao-of-microservices
        вроде хвалят уже после вступления. сам еще не добрался.
    
 
     Мерль
    Мерль 
    
    
 
     Oleg
    Oleg 
    
    
 
     Igor
    Igor 
    
    
        
        
        
        Вообще, я уже с год вынашиваю микросервисную архитектуру на NATS, но пока не было необходимости. Есть и обертки-генераторы с Thrift, и балансировка, дискавери. Версионировать можно по топикам.
    
 
     Oleg
    Oleg 
    
    
        
                    
                        
                            
                            Свобода от легаси
                        
                    
                
        
        
        Предполагается что один человек никогда себе же не оставляет легаси, так а делает все правильно с первого раза :D
    
 
 
     Oleg
    Oleg 
    
    
 
     Igor
    Igor 
    
    
        
                    
                        
                            
                            Свобода от легаси
                        
                    
                
        
        
        Ну на практике это работает, раз Uber переписал разом сервис с Node на Go и счастливы.
    
 
 
     Oleg
    Oleg 
    
    
        
        
        
        Именно! Ключевое слово сервис
    
 
     Oleg
    Oleg 
    
    
        
        
        
        А не микросервис
    
 
     Igor
    Igor 
    
    
        
        
        
        Обертки — да, лишнее. А сервис-дискавери вещь нужная. NATS в этом плане дает примерно то же что Kubernetes, причём одним бинарником на Go.
    
 
     Oleg
    Oleg 
    
    
 
     Igor
    Igor 
    
    
        
        
        
        NATS? Не, это кластерная мессаджинг-система. Там есть очереди, но они скорее с клиентской стороны.
    
 
     Igor
    Igor 
    
    
        
        
        
        Ими как раз балансировать можно.
    
 
     Igor
    Igor 
    
    
        
        
        
        Грубо — просто транспорт. Шлешь нагрузку в топик, а дальше кому придет уже не твоя проблема.
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Ну это и есть основной юзкейс очереди же
    
 
     Oleg
    Oleg 
    
    
        
        
        
        Мне кажется, если все таки решили использовать микросервисы, то первая и важнейшая задача - подготовка и настройка инфраструктуры
    
 
     Oleg
    Oleg 
    
    
        
        
        
        А какой именно инструмент, наверное не очень сильно важно
    
 
     Igor
    Igor 
    
    
        
        
        
        Ну это тонкая грань. Если использовать очередь для роутинга, то это все же оверкил. Messaging system (message bus) объединяет сервисы, работает транспортом. Там нет персистентности, at least once delivery и т.д.
    
 
     Slava
    Slava 
    
    
        
        
        
        у нас тупой http
    
 
     Slava
    Slava 
    
    
        
        
        
        между сервисами
    
 
     Slava
    Slava 
    
    
        
        
        
        без всяких очередей
    
 
     Igor
    Igor 
    
    
        
        
        
        Все как у людей. :) А service-discovery, версионирование?
    
 
     Slava
    Slava 
    
    
        
        
        
        rpc поверх http
    
 
     Oleg
    Oleg 
    
    
        
                    
                        
                            
                            без всяких очередей
                        
                    
                
        
        
        Как авторизация сервисов происходит? Просто в подсети без авторизации или есть слой на уровне приложения?
    
 
 
     Slava
    Slava 
    
    
        
        
        
        авторизация?
    
 
     Slava
    Slava 
    
    
        
        
        
        зачем?