Значительный процент крупных предприятий, с которыми я работал, признались, что испытывают проблемы с производительностью критически важных бизнес-приложений. Большинство производственных систем были построены на основе устаревших монолитных технологий. Недавняя популярность микросервисов не оправдала обещаний несвязанных, масштабируемых и отказоустойчивых систем, если только они не будут «сделаны правильно».
Вступая в мир микросервисов, инженеры начинают создавать распределенные приложения, где необходимы надежные удаленные вызовы процедур и координация кластера.
В этом курсе вы узнаете об общих проблемах, возникающих при проектировании и внедрении крупномасштабных распределенных систем, и о том, как крупные технологические компании решают эти проблемы.
Технологии, алгоритмы и шаблоны проектирования, рассматриваемые в этом курсе:
Балансировка нагрузки на стороне клиента, распределенная трассировка, Canary Deployment, Sidecar Pattern, Circuit Breaker
Я намерен сделать содержание курса очень практичным, с большим количеством примеров кода и практических рекомендаций. Например, я подробно расскажу о сервисном реестре и обнаружении, чтобы вы знали, как реализовать свою собственную структуру поверх ETCD. На протяжении всего курса мы собираемся создать распределенный сервис сокращения URL-адресов.
Курс может быть хорошим подведением итогов для людей, готовящихся к собеседованию по системному проектированию.
Посмотреть больше
Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай
Building Modern Distributed Systems with Java,
а также все другие курсы, прямо сейчас!
Synchronous and asynchronous communication patterns
Урок 8.00:02:24
Traditional load balancers
Урок 9.00:02:26
Service Registry and Discovery
Урок 10.00:08:37
Service meshes
Урок 11.00:07:34
Idempotent service design
Урок 12.00:08:42
Practice 2
Урок 13.00:06:09
Traditional RDBMS systems vs. NoSQL
Урок 14.00:06:25
Data sharding and consistent hashing
Урок 15.00:06:46
CAP theorem
Урок 16.00:20:20
Short introduction to Apache Cassandra
Урок 17.00:11:46
Practice 3
Урок 18.00:07:37
The need of cluster-wide coordination
Урок 19.00:12:36
RAFT consensus algorithm
Урок 20.00:12:35
Short introduction to Etcd
Урок 21.00:07:42
Implementation of distributed mutex
Урок 22.00:02:42
Leader election design pattern
Урок 23.00:05:18
Deployment requirements for strongly consistent distributed systems
Урок 24.00:04:47
ACID properties in distributed system
Урок 25.00:17:07
Practice 4
Урок 26.00:05:34
Asynchronous communication pattern and message-oriented middleware
Урок 27.00:05:27
Short introduction to Apache Kafka
Урок 28.00:29:40
Apache Kafka as a distributed system
Урок 29.00:02:29
Event-driven architecture
Урок 30.00:09:19
Practice 5
Комментарии
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Данный курс подготовлен на основании программы по которой я обучаю тестировщиков автоматизаиторов на обычных, живых курсах.Программа полная. Вы получите весь необходимый объем знаний для автоматизации тестирования WEB. В результате прохождения этого курса, вами будет написан базовый фрэймворк для автоматизации. Который вы можете спокойно брать и применять на своих рабочих проектах.
Итак, у вас есть некоторый опыт работы с Java, но вы пытаетесь понять, что делать дальше, чтобы упростить получение следующей работы или консультационной работы и выделиться из толпы. Возможно, вы уже слышали о шаблонах проектирования и видели, что программисты, которые знают их и могут реализовать, пользуются большим уважением. Ясно одно - Java программисты с опытом работы с шаблонами проектирования пользуются большим спросом.
Освоение Исключений Java Используя Лучшие Практики
Mastering Java Exceptions with Best Practices
Создание надежного программного обеспечения — это не только понимание того, как работают исключения Java, но и понимание того, как правильно их использовать. Таким образом, это больше, чем изучение исключений Java как языковой функции, и это то, чему этот курс призван научить. Исключения почти всегда рассматриваются как короткая глава/тема (обычно 30-45 минут) в более крупном курсе Java, и они охватывают только основы исключений Java. Этого
Это курс для профессионалов Java (или начинающих профессионалов Java), которым необходимо глубокое понимание того, как веб-приложения работают на Java. В этом курсе мы расскажем, как создать веб-сайт без использования фреймворка. Это может показаться безумием, но фреймворки часто скрывают сложность того, что происходит под капотом, поэтому, когда что-то идет не так, мы не понимаем, почему и, следовательно, как это исправить.
Платформа Java развивается быстрее, чем когда-либо в своей истории. Одним из ключевых направлений остается продуктивность разработчиков. Задача состоит в том, чтобы быть в курсе всех последних изменений. Курс принесет огромную пользу разработчикам Java, заинтересованным в том, чтобы освоить постоянно развивающийся язык Java. Есть много упражнений (вместе с решениеми). Курс не является руководством по миграции, но мы охватываем множество областей,