Рубрика «архитектура системы» - 2

За время своей карьеры я поработал с разными legacy-проектами, каждый из которых страдал от тех или иных изъянов.

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

В сущности, улучшение кода — дело довольно простое, особенно сейчас, когда движение за мастерство разработки ПО (software craftsmanship) продвигает хорошие практики в командах. Однако изменение стержневых частей систем, ограничений, введенных в самом начале их жизненного цикла, является чрезвычайно сложной задачей.

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

Читать полностью »

Мы подготовили перевод статьи Нила Форда, системного архитектора и идейного вдохновителя компании ThoughtWorks, которая занимается разработкой программных средств для автоматизации процессов тестирования и развертывания ПО.

Перевод статьи Нила Форда «Микросервисы как эволюционная архитектура» - 1 Нил – признанный эксперт в области разработки программного обеспечения, работающий на стыке гибкого проектирования и системной архитектуры. Он является автором многочисленных статей, книг, десятков видео-презентаций, выступает с докладами на ведущих конференциях разработчиков. Его работы вы можете посмотреть на сайте nealford.com.
Читать полностью »

В рамках одного проекта была поставлена задача долговременного хранения логически связанных объектов данных с обеспечением многопользовательского доступа к их содержимому. Возможны различные способы удовлетворения этой потребности средствами уже существующих систем управления данными. Тем не менее, был предпринят поиск простого и производительного решения, результаты которого и предлагаются к рассмотрению.
Читать полностью »

Разработка CPA-платформы для телеком-оператора - 1

Под катом — рассказ о том, как мы реализовали модульную архитектуру CPA-платформы (Content Provider Access) для телеком-оператора на Fuse Fabric. Заодно объясним, почему приняли такое решение, а не стали использовать стандартный стек технологий J2EE для создания монолитного приложения.
Читать полностью »

Скажи «нет» монолитности: как мы делали CPA-платформу - 1

Под катом — рассказ о том, как мы реализовали модульную архитектуру CPA-платформы (Content Provider Access) для телеком-оператора на Fuse Fabric. Заодно объясним, почему приняли такое решение, а не стали использовать стандартный стек технологий J2EE для создания монолитного приложения.
Читать полностью »

Привет коллеги.
Да, не прошло и три года с первой статьи, но проектная пучина отпустила только сейчас. Хочу с вами поделиться своими соображениями и проблемами касательно Spark streaming в связке с Kafka. Возможно среди вас есть люди с успешным опытом, поэтому буду рад пообщаться в комментариях.
Читать полностью »

image

В части 1, части 2, части 3 были рассмотрены основные системы инфраструктуры ПЭП. В этой части будет рассмотрен порядок проектирования для практической реализации инфраструктуры. Сразу отмечу, что описание носит обобщенный характер, и не является ни туториалом, ни инструкцией, ни руководством. Как было отмечено в первой части, вся статья представляет собой только личное видение, основанное на практике внедрения ПЭП в информационные системы агентов, оказывающих сложные, многоэтапные технологические услуги. Цель внедрения ПЭП — расширить географию обслуживания за счет переноса в сеть Интернет документооборота при оказании услуги физическим лицам и минимизации необходимости личных визитов клиентов в офис компании. Для упрощения примера, не будем рассматривать большие компании со сложным документооборотом, а возьмем абстрактную компанию, оказывающей услуги домашней автоматизации. Документооборот услуги такой компании в минимальном варианте состоит из заявки на проектирование, договор с техническим заданием и акта выполненных работ.
Читать полностью »

Интернет вещей на реальном примере — система поиска автомобиля - 1

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

Читать полностью »

Немного истории

На заре вычислительной техники динамическая память вполне себе работала на частоте процессора. Мой первый опыт работы с компьютером был связан с клоном компьютера «ZX Spectrum». Процессор Z80 осуществлял обработку инструкций в среднем по 4 такта на операцию, при этом два такта использовалось на осуществление регенерации динамической памяти, что дает нам при частоте в 3,5 МГц, не более 875 000 операций в секунду.

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

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

Читать полностью »

Рассказ будет про один контентный проект, в котором мне пришлось переделать архитектуру. Ранее была реализована классическая Лампа-схема (Linux-Apache-MySQL-PHP). Но кол-во посетителей прибавлялось и прибавлялось, уже стало подходить к 1М хитов и сервер БД переставал справляться. Первым делом, я предложил докупить еще один серак, но в данном сегменте конвертация в партнерских программах довольно низкая, так что, руководство проекта немного пожмотилось.

Если, интересно, как мне пришлось изменить архитектуру и при этом еще прикрутить систему ротации и рейтингов, то добро пожаловать под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js