Как стать автором
Обновить
31
0

Пользователь

Отправить сообщение

Microservices. Как правильно делать и когда применять?

Время на прочтение19 мин
Количество просмотров72K



Автор: Вячеслав Михайлов



Монолитные приложения и их проблемы



Все прекрасно знают, что такое монолитное приложение: все мы делали такие двух- или трехслойные приложения с классической архитектурой:





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





Так или иначе, по мере роста и развития приложения, вы сталкиваетесь с проблемами монолитных архитектур:



  • сложность системы постоянно растет;
  • поддерживать ее все сложнее и сложнее;
  • разобраться в ней трудно — особенно если система переходила из поколения в поколение, логика забывалась, люди уходили и приходили, а комментариев и тестов нет);
  • много ошибок;
  • мало тестов — монолит не разобрать и не протестировать, поэтому обычно есть только UI-тесты, поддержка которых обычно занимает много времени;
  • дорого вносить изменения;
  • застревание на технологиях (например, я работал в компании, где с 2003 г. технологии до сих пор не изменились).


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


Читать дальше →
Рейтинг0
Комментарии6

Почему молодежь не хочет рожать и причём тут система образования

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров96K

"Я хочу пожить для себя" - говорят люди в 18, 20, 25 и даже 30 лет. И живут. Развивают карьеру, путешествуют, занимаются творчеством, уезжают покорять другие страны.

"Вы с ума посходили! А ну давайте срочно все рожайте!" - верещит государство, которому не хватает новых граждан.

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

Тут важно понять две вещи.

Какие?
Всего голосов 207: ↑125 и ↓82+74
Комментарии2109

Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS-Vision, Websockets и фейковым веб-сайтом

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров238K

Предыдущие статьи серии:

Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria и все-все-все
Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие

С протоколами разобрались, с клиентами разобрались, теперь наконец-то настало время рассказать о том, как же настроить свой личный прокси-сервер с современными протоколами для обхода блокировок. Мы будем настраивать сервер на базе XRay (который является форком известного V2Ray, и еще я немного упомяну Sing-Box) с протоколами Shadowsocks-2022 и VLESS с транспортом XTLS-Vision и фейковым веб-сайтом для защиты от выявления. И в качестве запасного варианта на том же сервере мы настроим fallback на VLESS+Websockets, чтобы была возможность работать через CDN типа Cloudflare, если вдруг IP-адрес вашего сервера попадет под блокировку. В конце я приведу настройки десктопных и мобильных клиентов для подключения ко всему этому.

Читать далее
Всего голосов 37: ↑35 и ↓2+42
Комментарии107

Мистическая эвереттика Менского-Лебедева: активное сознание, вероятностные чудеса и склейки миров

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров2.8K

Михаил Менский известен как автор Расширенной концепции Эверетта (РКЭ) или Квантовой концепции сознания (ККС) – экзотической интерпретации квантовой механики, наделяющей наблюдателя свободой выбора миров. Согласно Менскому, разделение параллельных миров происходит у нас в сознании и является сознанием как таковым, но человек также обладает сверхсознанием, способным преодолевать перегородки между мирами и получать оттуда информацию. Тем самым учёный обосновывает феномены сверхинтуиции, ясновидения и квантового управления реальностью путём свершения «вероятностных чудес» - событий крайне маловероятных, но не запрещённых законами физики. Очевидно, под влиянием Менского был написан «Трансерфинг реальности» Вадима Зеланда, в основе которого также лежит идея сознательного выбора «линии жизни» из «пространства вариантов» мультивселенной. Но согласуется ли такое управление вероятностями с научными фактами, или это очередной квантовый мистицизм? Давайте выясним, как можно проверить концепцию Менского и насколько она совместима с многомировой интерпретацией Эверетта.

Читать далее
Всего голосов 11: ↑9 и ↓2+14
Комментарии23

«Роман»: что будет после «Джеймса Уэбба»?

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров13K


На орбите Земли продолжает работать космический телескоп «Хаббл». Запустили аппарат в 1990 году, а чтобы это случилось, с 1970-х отбирали предложения, пытались выбить финансирование, проектировали, строили и готовили программу исследований. Аналогичным образом о телескопе «Джеймс Уэбб» начали всерьёз задумываться в конце восьмидесятых, его разработка шла десятилетия, увенчавшись запуском лишь в 2021 году.

Замена «Уэббу» готовится прямо сейчас. Возможно понять, какой будет следующая космическая обсерватория такого размаха. Железобетонно зафиксированы требования к проекту, выданы контракты на разработку инструментов, ещё на начальных этапах планирования показали симуляцию снимков с телескопа. Есть даже обещанные сроки запуска. Кажется, что мы можем заглянуть в будущее.
Читать дальше →
Всего голосов 66: ↑65 и ↓1+91
Комментарии14

TOTP без смартфона

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

Читать далее
Всего голосов 68: ↑68 и ↓0+68
Комментарии88

15+ Инструментов на базе искусственного интеллекта для разработчиков

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров21K

Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.

От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместить знакомство с полезными инструментами и улучшение английского. Мне всегда было сложно разбираться в длинных текстах на английском, примерно через 5-10 абзацев находились дела повышенной важности и статья отправлялась в  ̶з̶и̶я̶ю̶щ̶у̶ю̶ ̶п̶у̶с̶т̶о̶т̶у̶  закладки. И действительно, в этот раз поставленная цель и видимый результат в виде появляющихся абзацев в гугл доксе придавали сил. До этого из списка использовал только GitHub Copilot, Midjourney и You. С первым у меня сложилась любовь и хотя он не всегда идеален для сложных задач, но помогает эффективно решать рутинные проблемы. Опыт с you, в свою очередь, не стал настолько полезным, как ожидалось изначально, учитывая изменения в функционале его бесплатной версии.

Этой статьёй хочу ознаменовать для себя смену жизненного кредо: Практика на основании наблюдений вместо статического наблюдения. Так же надеюсь что она будет вам полезна.

Читать далее
Всего голосов 17: ↑9 и ↓8+4
Комментарии11

Как открыть ИП в Молдове

Время на прочтение13 мин
Количество просмотров21K

Напишу пост как открыть ИП в Молдове, легально получать оплату из других стран, платить налоги (7% от дохода при регистрации в ИТ парке или 12% с прибыли доходы минус расходы), полезные ссылки и лайфхаки. Возможно, кому-то будет полезно, раз народ жалуется, что в Ереване мест уже нет.

Далее будут разделы:
1. Краткая справка о стране
2. Получение SIM-карты
3. Получение электронной подписи
4. Регистрация ИП
5. Открытие счета в банке
6. Регистрация резидентом ИТ-парка
7. Налоги
8. Закрытие ИП и счета в банке
9. Личные впечатления

Читать далее
Всего голосов 11: ↑7 и ↓4+5
Комментарии64

Как оставаться программистом, если у тебя память как у дрозофилы

Время на прочтение15 мин
Количество просмотров62K

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее
Всего голосов 39: ↑35 и ↓4+43
Комментарии40

Запуск WSL (Windows Subsystem for Linux) с systemd под Windows 11

Время на прочтение4 мин
Количество просмотров43K
image

В новостях прошла весть, что теперь WSL поддерживает демон systemd. В качестве преимущества использования systemd предлагается установка и запуск приложений и сервисов через snap. Для примера приведены Nextcloud, LXD, MySQL, MicroK8s и Docker. Я пока в преимущества самого snap не вникал. Но возможность запуска и управления демонами через systemd привлекает.


Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии29

Простое REST api для сайта на php хостинге

Время на прочтение10 мин
Количество просмотров34K

Иногда бывает необходимо развернуть не большое рест апи для своего сайта, сделанного по технологии СПА (Vue, React или др.) без использования каких-либо фреймворков, CMS или чего-то подобного, и при этом хочется воспользоваться обычным php хостингом с минимальными усилиями на внедрение и разработку.  При этом там же желательно разместить и сам сайт СПА (в нашем случае на vue).

Использование php позволяет для построения ендпоинтов апи использовать даже статические php файлы, размещаемые просто в папках на хостинге, которые предоставляют результат при непосредственном обращении к ним. И хотя, видимо в своё время, такой подход послужил широкому распространению php мы рассмотрим далее более программистский подход к созданию апи, который очень похож на используемый в библиотеке Node.js Express и поэтому интуитивно понятен, и прост для освоения.

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии22

Цивилизация Пружин, 1/5

Время на прочтение14 мин
Количество просмотров108K
### Часть 1. Золотое «Ку»

Лет в шесть мне попался в руки дедовский справочник[50] по грузовым автомобилям середины 20-го века. Добротный, напечатанный на гладкой плотной бумаге раритет. Единственное, что вообще осталось на память от деда после распада страны, войн и переездов.



В справочнике содержалось множество интересных ТТХ, так что слово «грузоподъёмность» стало мне знакомо с раннего детства. И когда отец на прогулке упомянул, что любой грузовик весит столько же, сколько увозит сам, я это запомнил. Запомнил и, много позже, заинтересовался.

Отец был прав. Для грузовиков 60-х годов это правило выполняется с довольно удивительной точностью:

Читать дальше →
Всего голосов 237: ↑230 и ↓7+223
Комментарии266

Строим эффективный сетевой обмен в PHP-микросервисах

Время на прочтение13 мин
Количество просмотров21K

Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы  — это абсолютно разные вещи.

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Всего голосов 34: ↑33 и ↓1+41
Комментарии38

Блокировки и уровни изоляции транзакций InnoDB в MySQL

Время на прочтение5 мин
Количество просмотров79K
Здравствуй, Хабр!
Предлагаю всем желающим вспомнить или познать суть блокировок движка InnoDB в MySQL.


КДПВ: deadlock в исполнении тропической фауны

Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии26

Фильтр Блума

Время на прочтение3 мин
Количество просмотров62K
И снова здравствуйте! Сегодня я поведаю о фильтре Блума — структуре данных гениальной в своей простоте. По сути, этот фильтр реализует вероятностное множество всего с двумя операциями: добавление элемента к множеству и проверка принадлежности элемента множеству. Множество вероятностное потому, что последняя операция на вопрос «принадлежит ли этот элемент множеству?» даёт ответ не в форме «да/нет», а в форме «возможно/нет».

Как фильтр это делает?
Всего голосов 88: ↑85 и ↓3+82
Комментарии36

Во что обернулась пересылка MQTT-сообщений в Telegram?

Время на прочтение2 мин
Количество просмотров20K

Периодически возникает желание получать уведомления, иметь возможность настраивать источник и фильтровать сообщения по темам, и писать как можно меньше кода. Например, присылать себе картинку/цитату/слово дня или дельту по изменениям ордеров на бирже. В результате получился универсальный инструмент - бот и персональное АПИ для отправки сообщений в Telegram.

Читать далее
Всего голосов 17: ↑9 и ↓8+3
Комментарии34

Нейтронные звёзды — насколько они нейтронные?

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров17K

Salutations!

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

Можно ли объять необъятное и что для этого нужно?

Попробовать объять..
Всего голосов 59: ↑59 и ↓0+59
Комментарии27

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

Время на прочтение37 мин
Количество просмотров94K

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

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Всего голосов 66: ↑65 и ↓1+83
Комментарии27

План самостоятельного обучения DDD, CQRS, EventSourcing

Время на прочтение7 мин
Количество просмотров44K

Если вы собрались плотно погрузиться в тему Doman Driven Design (DDD), о том как его применять, как использовать, для чего он нужен, и как с ним связаны Command and Query Responsibility Segregation (CQRS), Event Sourcing и другие термины из мира DDD то можно воспользоваться планом обучения, который последовательно погрузит вас в эти темы и поможет сориентироваться. Часть информации на русском, часть на английском языке, так как русскоязычных аналогов я не смог найти.

Погрузиться в DDD
Всего голосов 32: ↑31 и ↓1+34
Комментарии4
1
23 ...

Информация

В рейтинге
6 015-й
Зарегистрирован
Активность