2017-01-27 17 views
5

Я искал более сложный рабочий процесс, чем Saga из AxonFramework, который мы сейчас используем, - и я нашел его в Netflix Conductor. К сожалению, я искал Интернет для достойного примера, но безрезультатно.Как зарегистрировать микросервис (или его методы) для задачи в проводнике Netflix?

Мой вопрос в том, что в Netflix Conductor можно определить и создать Task или WorkflowTask и, самое главное, связать с ним микросервис? Вот код Netflix проводник из GitHub:

WorkflowDef def = new WorkflowDef(); 
    def.setName("test"); 
    WorkflowTask t0 = new WorkflowTask(); 
    t0.setName("t0"); 
    t0.setType(Type.SIMPLE); 
    t0.setTaskReferenceName("t0"); 

    WorkflowTask t1 = new WorkflowTask(); 
    t1.setName("t1"); 
    t1.setType(Type.SIMPLE); 
    t1.setTaskReferenceName("t1"); 

    def.getTasks().add(t0); 
    def.getTasks().add(t1); 

Пардоной моя путаница Я новичок в Netflix дирижер.

+0

@Maxim Fateev: Побалуйте меня обычным шумом и nitpickery. Ранняя версия Netflix Conductor использовала AWS SWF. –

ответ

0

(отказ от ответственности: я не пробовал, я просто посмотрел на документацию ...) метод

  1. реализовать свой собственный WorkflowSystemTask
  2. начало переопределения()/Execute(), чтобы позвонить своему microservice
  3. набор типа задача SIMPLE согласно https://netflix.github.io/conductor/intro/concepts/#worker-taks
1

Если предположить, что сервис Micro имеет REST конечной точки над HTTP. В этом случае вы должны использовать HttpTask, который является системной задачей. Httptask делает вызов Http, и ответ доступен как выход задачи. Pls ссылаются на нижеследующую ссылку: HttpTask

Pls не забудьте установить SchemaVersion как 2 для WorkflowDef, который содержит HttpTask. Вам также понадобится зарегистрированный Task type.