[Перевод] Часы Лампорта

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена. Сервисы пишут события, стримы обрабатываются в реальном времени, данные реплицируются по датацентрам. И почти в каждом таком сценарии возникает фундаментальный вопрос: Как понять, что произошло раньше, а что позже, если глобального времени не существует? Здесь в игру вступают логические часы Лампорта — простая, но концептуально мощная идея, лежащая в основе причинно-следственного порядка в распределённых системах. Подробнее - в новом переводе от команды Spring АйО .

https://habr.com/ru/companies/spring_aio/articles/1005934/

#java #kotlin #system #system_design #architecture #architecture_design #spring #spring_boot

Часы Лампорта

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена. Сервисы пишут события, стримы...

Хабр

Почему ReAct-агенты ломаются в продакшене и чем их заменить

Приветствую читателей. Мы пытались построить LLM-чат для продакшена. Через месяц у нас был 20k-токенный prompt, 50 тулзов и ответы по 2 минуты. В итоге пришлось отказаться от ReAct и перейти на LLMCompiler. А начали мы с того что компания захотела поекспериментировать с созданием чата Для начала освежим память как вообще работает llm и react архитектура. С точки зрения разработчика, ллм - это функция, которая принимает на вход строку и отдает другую строку, входящая строка может прораммировать то, какой ответ будет, например, вы можете попросить ллм вести себя как чат, далее хранить историю входов и выходов и передавать ее опять в ллм. Простейший пример чата

https://habr.com/ru/articles/1005280/

#ai #agents #architecture #architecture_design #prototype

Почему ReAct-агенты ломаются в продакшене и чем их заменить

Приветствую читателей. Мы пытались построить LLM-чат для продакшена. Через месяц у нас был 20k-токенный prompt, 50 тулзов и ответы по 2 минуты. В итоге пришлось отказаться от ReAct и перейти на...

Хабр

Один микросервис — один контейнер. День 1

Это первая статья о том, как идея проходит путь от прототипа до полноценного продукта — с участием архитектуры на каждом шагу. Формат — ADR (Architecture Decision Records): каждое решение зафиксировано по дням, чтобы показать реальную эволюцию проекта. Продукт вымышленный, проблемы — настоящие. Те самые, с которыми сталкиваются архитекторы и команды. Документация и код — в открытом доступе на GitHub .

https://habr.com/ru/articles/981326/

#docker #docker_compose #python #architecture #grpc #container #architecture_design #architecture_components

Один микросервис — один контейнер. День 1

Это первая статья о том, как идея проходит путь от прототипа до полноценного продукта — с участием архитектуры на каждом шагу. Формат — ADR (Architecture Decision Records): каждое решение...

Хабр

Что такое API Gateway: 10 главных функций и роль в архитектуре микросервисов [полный гайд]

Микросервисная архитектура уже давно стала нормой для IT-продуктов. И одну из центральных ролей в таком подходе занимает API Gateway. В этой статье разберём, что такое API Gateway, зачем он нужен в микросервисной архитектуре, какие 10 ключевых функций он выполняет, и является ли он потенциальной точкой отказа в системе. Внутри вы найдёте много картинок и примеров схем архитектуры, чтобы объяснения были максимально понятными. Материал будет полезен системным аналитикам, начинающим архитекторам, разработчикам и тестировщикам, особенно при подготовке к собеседованиям в продуктовые компании. Оглавление: Что такое API Gateway 10 главных функций API Gateway Виды API Gateway API Gateway - центральная точка отказа Примеры схем архитектуры с API Gateway в нотации C4 (и не только) Заключение и полезные ссылки

https://habr.com/ru/articles/967830/

#api_gateway #архитектура_системы #системный_анализ #системный_аналитик #api_шлюзы #c4_модель #backend #architecture_design #проектирование_архитектуры

Что такое API Gateway: 10 главных функций и роль в архитектуре микросервисов [полный гайд]

В современных IT-продуктах микросервисная архитектура уже давно норма, и одну из центральных ролей в таком подходе занимает API Gateway. В этой статье разберём, что такое API Gateway , зачем он нужен...

Хабр

Boolean — плохой флаг для данных

Мы все видели и использовали поля типа boolean в базах данных как часть структуры данных. На первый взгляд это удобно: два значения — «да» или «нет», просто и понятно. Например, у пользователя может быть флаг is_active , который показывает, включён аккаунт или нет, или поле is_deleted , которое используется как мягкое удаление. Такие поля встречаются повсюду. Но на практике хранение boolean в базе данных как элемента модели часто приводит к проблемам. В этой статье разберёмся, почему boolean может быть плохим выбором, и что использовать вместо него, чтобы избежать ошибок в будущем.

https://habr.com/ru/articles/942910/

#clean_code #clean_architecture #data_structures #data_storage #architectureascode #architecture_design #architecture_principles #architectural_decision_records

Boolean — плохой флаг для данных

Вступление Мы все видели и использовали поля типа boolean в базах данных как часть структуры данных. На первый взгляд это удобно: два значения — «да» или «нет», просто и понятно. Например, у...

Хабр

[Перевод] BSSN: Лучшая простая система на сегодня

Автор оригинальной статьи : Daniel Terhorst-North Вы можете накормить волков и сохранить овец, если сделаете все правильно. Многие организации живут в постоянном напряжении между двумя путями разработки: быстрым, но «грязным», и надежным, но медленным. Одни торопятся, оправдывая технический долг «прагматизмом», другие осторожничают, опасаясь ошибок и занимаясь оверинженерингом. Я предлагаю третий путь — «лучшую простую систему на сегодня» (Best Simple System for Now, BSSN), которая сочетает преимущества обоих подходов и не заставляет идти на компромиссы.

https://habr.com/ru/companies/haulmont/articles/926132/

#программирование #проектирование #проектирование_систем #java #haulmont #jmix #software #software_development #architecture #architecture_design

BSSN: Лучшая простая система на сегодня

Всем привет! У нас уже был перевод предыдущей статьи Дэна — CUPID ; её чтение не обязательно, но полезно, потому что многие тезисы здесь перекликаются с CUPID. Дэниел Тергорст-Норт Cоздатель...

Хабр
Apple Completes Migration of Key Ecosystem Service to Swift, Gains 40% Performance Uplift

Apple has migrated its global Password Monitoring service from Java to Swift, achieving a 40% increase in throughput and significantly reducing memory usage—freeing up nearly 50% of previously allocat

InfoQ
Being Functionless: How to Develop a Serverless Mindset to Write Less Code!

The rise of serverless technology and Function as a Service (FaaS) transformed cloud computing but requires a shift in mindset to avoid complexity and optimize efficiency.

InfoQ
1BRC–Nerd Sniping the Java Community

Gunnar Morling discusses some of the tricks employed by the fastest solutions for processing a 13 GB input file within less than two seconds through parallelization and efficient memory access.

InfoQ
Slack Combines ASTs with Large Language Models to Automatically Convert 80% of 15,000 Unit Tests

Slack's engineering team recently published how it used a large language model (LLM) to automatically convert 15,000 unit and integration tests from Enzyme to React Testing Library (RTL). By combining

InfoQ