Временной рабочий процесс против рабочего процесса Cadence - PullRequest
2 голосов
/ 11 апреля 2020

Как temporal.io связан с cadenceworkflow.io? Что следует использовать при запуске нового проекта в зависимости от службы рабочего процесса каденции?

Ответы [ 3 ]

5 голосов
/ 18 апреля 2020

Отказ от ответственности : я являюсь соучредителем и техническим руководителем проекта Cadence, а в настоящее время являюсь соучредителем / генеральным директором Temporal Technologies.

temporal.io является Вилка проекта Cadence от первоначальных основателей и технических руководителей проекта Cadence Максим Фатеев и Самар Аббас . Мы запустили Temporal Technologies и получили финансирование V C, так как считаем, что модель программирования, которую мы внедрили с помощью AWS Simple Workflow , Durable Task Framework , и проект Cadence имеет потенциал, который выходит далеко за рамки одной компании. Наличие коммерческой организации для продвижения проекта имеет важное значение для долговечности проекта.

Временная вилка обладает всеми возможностями Cadence, поскольку она постоянно сливается с ней. В нем также реализовано несколько новых функций.

Вот некоторые технические различия между Cadence и Temporal на момент первоначального выпуска Temporal fork (ожидается достижение рабочего состояния в 05/2020)

Все структуры Thrift заменены на протобуф

Все публичные c API Cadence используют Thrift. Комиссионный объект также хранится в БД в сериализованном виде.

Временно преобразовал все эти структуры в Буферы протокола . Это включает в себя объекты, хранящиеся в БД.

Протокол связи переключен с TChannel на gRP C

Cadence использует TChannel , который был протоколом мультиплексирования на основе TCP, который был разработан в Uber. TChannel имеет множество ограничений, таких как отсутствие поддержки безопасности и очень ограниченное количество языковых привязок. Это даже не рекомендуется даже в Uber.

Временное использование gRP C для всех межпроцессных коммуникаций.

Поддержка TLS

Cadence не поддерживает какую-либо коммуникационную безопасность, так как это ограничение TChannel.

Temporal поддерживает взаимный TLS и собирается поддерживать более продвинутые функции аутентификации и авторизации в будущем.

Упрощенная конфигурация

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

Выпуск конвейеров

Cadence не проверяет публично выпущенные артефакты, включая изображения docker в качестве внутреннего конвейера выпуска, обеспечивают качество только встроенных артефактов. Он также не выполняет тестирование релизов для зависимостей, которые не используются в Uber. Например, интеграция MySQL не тестируется за пределами довольно неполных модульных тестов. То же самое относится к CLI и другим компонентам.

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

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

Go SDK

Временная реализация следующие улучшения по сравнению с клиентом Cadence Go:

  • Protobuf & gRP C
  • Нет глобальной регистрации типов операций и рабочих процессов
  • Возможность регистрации структуры действий экземпляр с рабочим. Это значительно упрощает передачу внешних зависимостей в действия.
  • Рабочий процесс и перехватчики действий, которые позволяют реализовать такие функции, как настройка тайм-аутов через внешние файлы конфигурации.
  • Имена типов действий и рабочих процессов не включают имена пакетов. Это значительно упрощает рефакторинг кода без внесения изменений.
  • Большинство тайм-аутов, которые требовались Cadence, теперь являются необязательными.
  • workflow.Await метод

Java SDK

В Temporal реализованы следующие улучшения по сравнению с клиентом Cadence Java:

  • Рабочий процесс и аннотации действий, позволяющие объектам действий и реализаций рабочих процессов реализовывать не рабочие процессы и интерфейсы деятельности. Это важно для хорошей игры с такими AOP-средами, как Spring.
  • Polymorphi c рабочие процессы и интерфейсы действий. Это позволяет иметь общий интерфейс для нескольких типов действий и рабочих процессов.
  • Dynami c регистрация обработчиков сигналов и запросов.
  • Перехватчики рабочего процесса и активности, которые позволяют реализовать такие функции, как настройка тайм-аутов через внешние файлы конфигурации.
  • Улучшено создание имен типов операций и рабочих процессов

У нас много другие функции и клиентские SDK для других языков планируется. Вы можете найти нас в Temporal Slack Workspace .

2 голосов
/ 14 апреля 2020

Я из команды Cadence в Uber, и я хотел сообщить вам, что наша команда продолжает активно развивать Cadence. Ниже приведен раздел обновления, которым мы недавно поделились с сообществом Cadence:

Мы хотим подтвердить, что команда Cadence Uber привержена росту и развитию открытого проекта Cadence. Сегодня Cadence обеспечивает более 100 различных вариантов использования в Uber, и это число быстро растет. В целом, в любой момент в среднем в любой момент выполняется более 50 миллионов выполнений, и наши клиенты совершают sh 3B + выполнений в месяц. Кроме Uber, мы также знаем, что многие инженерные группы в различных компаниях уже приняли Cadence для своих критически важных для бизнеса рабочих процессов. Мы рады продолжить развитие Cadence как проекта с открытым исходным кодом в обратно совместимой форме с повышенным вниманием к надежности, масштабируемости и удобству обслуживания в ближайшей перспективе.

Вероятно, сравнивать еще рано Каденция и височная. Тем не менее, у меня есть несколько идей относительно того, как мы можем систематически пролить свет на дорожную карту Cadence, чтобы обеспечить наличие всей необходимой информации, позволяющей проводить такие сравнения в будущем. Я обновлю этот пост ссылками, когда мы создадим страницу с информацией о дорожной карте.

А пока, пожалуйста, дайте мне знать, если вам нужна дополнительная информация о Cadence, которая будет полезна в этом контексте.

2 голосов
/ 11 апреля 2020

Temporal.io - компания, которая развила проект каденции и теперь строит на нем верх, называя его временным. Он основан авторами cadence.

Я бы предложил использовать temporal.io, так как он находится в активной разработке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...