2017-12-02 4 views
0

마이크로 서비스 응용 프로그램을 작성 중이며 4 개의 모듈 (별도 프로젝트)에 대해 하나의 클래스를 공통으로 사용합니다. 나는 그것을 (4 개의 프로젝트에서 그것을 복제하지 않기 위해) sth 할 수 있냐? 그것은 단지 하나의 클래스이지만 인증을위한 것이기 때문에 누군가 실수로 그것을 변경하는 것을 원하지 않습니다. 하나의 클래스 라이브러리를 수행 할 수 있습니까? 아니면 나쁜 생각입니까?소수의 프로젝트에서 공통적 인 한 클래스

+0

마이크로 서비스 아키텍처를 어떻게 구현하고 있습니까? 예를 들어 서버리스 방식에 타사 솔루션을 사용하고 있습니까? – Ele

+2

라이브러리에 포장하고 모든 프로젝트에 포함하십시오. 이것은 의존성 관리를 사용하여 쉽게 수행 할 수 있습니다. – BackSlash

답변

0

물론 가능합니다. 의견에서 언급 한 것처럼, "패키지를 라이브러리에 패키지로 만들고 모든 프로젝트에 포함"하는 것은 종속성 관리를 사용합니다. 나쁜 생각은 아닙니다. 수업이 아주 단순하다해도, 그만한 가치는 없을 것입니다.

마이크로 서비스를 사용할 예정이므로 인증이 다른 마이크로 서비스가 사용하는 자체 서비스 인 방식으로 아키텍처를 변경할 수도 있습니다. 인증은 일반적으로 모든 프로젝트에 중복되지 않습니다. 별도의 인증 서비스가 있으며, 다른 마이크로 서비스는 인증이 이미 수행되었는지 확인하고 필요한 권한이 있거나 필요시 인증 서비스를 호출합니다.

+0

실제로 클래스는 수입품이있는 약 54 줄이므로 길지 않습니다. 다른 모듈이 호출하는 하나의 인증 모듈에 관해서는 좋은 해결책이 아니며 여러 기사에서도 읽었습니다. 하나의 인증 모듈을 사용하면 사용자가 인증이 필요한 서비스를 호출 할 때마다 다른 모든 모듈이이를 호출해야합니다. 그것은 정말 일을 늦추고 불필요하게 복잡하게 만듭니다. JWT 토큰을 사용하고 사용자가 인증되었는지 확인하기 위해 다른 모듈이나 데이터베이스가 필요하지 않습니다. :) –