Содержание
- 2. О чем думает мир Как обрабатывать все запросы? Где и как хранить данные? Сколько это будет
- 3. Как решить проблему высокой нагрузки?
- 4. Бизнес и разработка Стремится минимизировать издержки Полагается на разработчиков в части выбора технологии Хочет все быстро,
- 5. Robert Martin, «Clean Architecture» «Чтобы создать систему, дизайн и архитектура которой способствуют уменьшению трудозатрат и увеличению
- 6. Что такое архитектура? Бизнес-задача Потребители Доступный бюджет Что определяет архитектуру приложения?
- 7. В чем выражается архитектура? Трудозатраты при разработке и доработке Красиво выглядящие схемы приложения (в хорошей архитектуре
- 8. Современный мир Разнообразный стек языков программирования под любые задачи (C#, Java, C++, Go, JS) Разнообразный стек
- 9. Архитектура информационных систем Архитектура, клиент-сервер
- 10. Виды архитектуры и виды ПО Как может выглядеть ваше приложение? Только клиент Клиент-сервер
- 11. Для чего нужен клиент? Ваше приложение не должно коммуницировать с чем либо другим Ваше приложение если
- 12. Для чего нужен сервер? Вам нужны какие-либо внешние данные, которые вы не можете получить без внешних
- 13. База данных Вы будете строго ограничивать роли в БД для каждого пользователя Вы сможете производить обработку
- 14. Сервис перед базой данных У вас на сервере должны производится сложные расчеты или обновления данных У
- 15. Сервис как абстракция S - Single Responsibility - каждая единица системы выполняет только одну и только
- 16. Любой клиент, любая база Главное - контракт Desktop-приложение Сайт Мобильное приложение Собака. А вдруг. SQL NoSQL
- 17. Сервис - узкое место? Для сервиса нужен особо тщательный подход к архитектуре. А как расширить?
- 18. Монолиты и микросервисы Выполняют множество функций Цельный кусок Легки в развертывании А что ж лучше? Каждый
- 19. Взаимодействие Клиент общается с сервером
- 20. Via Internet Взаимодействие по протоколу HTTP Клиент делает запрос — сервер отвечает Составные части: Глагол: GET
- 21. REST-API Стандарт взаимодействия по протоколу HTTP Неофициально принят в мире для упрощения разработчикам — все сервисы
- 22. REST-API GET — получение данных с ресурса. GET http://localhost/students — получение списка всех студентов, GET http://localhost/students/1
- 23. REST-API HTTP 200 — результат успешно получен HTTP 201 — создано. Может содержать ссылку на созданный
- 24. REST-API HTTP 400 — некорректный запрос. Ошибка в параметрах. HTTP 401 — требуется авторизация HTTP 403
- 25. REST-API HTTP 500 — внутренняя ошибка сервера HTTP 501 — неверный метод HTTP 502 — Bad
- 26. REST-API Формат JSON — объект (Map, Dictionary) в читабельном человеку формате Объекты
- 27. SOAP Тот же объект, но формате XML Строится по XSD-схеме Используется в webservices XML как описание
- 28. MediaType Form-data — Формы с веб страниц X-www-form-urlencoded — кодированные даты с формы Raw — Text,
- 29. WebSocket Прямое соединение в Socket. Работает по принципу тесного взаимодействия и пересылки сообщений по сокету. Более
- 30. Server-Sent Events Упрощенная версия WebSocket Слушатель слушает, вещатель отправляет сообщения Соединение постоянно
- 31. Базы данных Типы, виды, зачем и когда нужны
- 32. Базы данных База данных в данном случае — любое хранилище для любых данных. Базы данных: Память
- 33. Базы данных Система взаимосвязанных таблиц Данные хранятся по столбцам Каждая таблица — отдельная сущность Взаимодействие через
- 34. Базы данных Данные хранятся в виде полноценных обособленных документов/объектов Различные форматы хранения — JSON, файлы и
- 35. Базы данных Вызов функции БД для её обработки на стороне БД Если нужно единоразово собрать данные
- 36. Базы данных Кластеризация — несколько инстансов базы данных даже на разных серверах работают как одна. Master
- 37. Базы данных На случай, если одни и те же данные могут быть обработаны/использованы несколькими приложениями Механизм:
- 38. Монолиты Как, когда и зачем
- 39. Монолиты Система едина, поставляется и развертывается целиком Возможно отключение отдельных функций, при этом сама кодовая база
- 40. Монолиты Система небольшая Компоненты системы взаимодействуют слишком тесно и часто, чтобы дробить её Небольшие бюджеты Небольшие
- 41. Монолиты Большие системы Компоненты взаимосвязаны, хотя не должны Требуется надежность всей системы Требуется недопустить ситуации «Упала
- 42. Микросервисы Как, когда и зачем
- 43. Микросервисы Все компоненты системы разделены на мелкие приложения Компоненты системы общаются между собой через сеть Одно
- 44. Микросервисы Система очень большая Компоненты системы могут работать независимо друг от друга или с минимальной зависимостью
- 45. Микросервисы Недостаточная квалификация Низкий бюджет на эксплуатцию и сопровождение Система слишком маленькая и её не требуется
- 46. Общие элементы архитектур
- 47. Балансировка нагрузки У системы есть несколько инстансов. Балансировка нагрузки — некий компонент сам распределяет запросы к
- 48. Gateway У системы есть несколько инстансов. У системы есть несколько отдельных компонентов. Идет запрос к http://localhost/API/methodName.
- 49. Аутентификациия и авторизцаия Авторизация — проверка подленности, например, по паролю. Аутетифкация — процесс проверки доступа пользователя
- 50. Аутентификация и авторизация Сессия — значение, позволяющие системе определить пользователя, что послал сообщение. Настраивается и управляется
- 51. Брокеры сообщений Работают по принципу «В компонент отправляется сообщение». И все. Асинхронная работа. Сообщение отправляется в
- 52. Контейнеризация Контейнеризация - процесс упаковки системы в отдельную изолированную ОС. Ситуация: у вас есть система, которая
- 54. Скачать презентацию