2016-07-20 7 views
0

У меня есть список микросервисов Я звоню в несколько сервисов с одного контроллера. Я хочу отслеживать изменение состояния объекта до и после службы.Аудит Microservices

Каким должен быть проект или существуют стандарты для аудита микросервисов?

Благодаря Виджай

+0

Я предлагаю вам использовать шаблон прокси и кешировать вызовы. Это уменьшит количество поездок в сети. Как вы спросили о лучших практиках, обратитесь к спецификации для полного стандарта обслуживания RESTFul и модели зрелости Richardson – amitmah

+0

Это должно быть полезно: https://danpalmer.me/blog/your-api-is-not-restful – amitmah

ответ

0

Вы должны сделать это на уровне приложений. Вы можете использовать рамки AOP для Java (например, Spring AOP или/или AspectJ) для перехвата данных в/из конечных точек ваших микросервисов или ваших обычных методов. Аннотации @Around позволяют перехватывать входящие данные (параметры/аргументы метода) и исходящие данные (возвращаемые значения/ответы).

@Aspect 
public class AuditAspect { 

    @Around("execution(* com.foobar.controllers.*.*(..))") 
    public void doAudit(ProceedingJoinPoint joinPoint) throws Throwable { 

    System.out.println(joinPoint.getSignature().getName()); //get method name 
    System.out.println(Arrays.toString(joinPoint.getArgs())); //get the arguments/params 

    joinPoint.proceed(); //continue 

    System.out.println("intercept response "); 

    } 

} 
Смежные вопросы