2014-09-22 4 views
-1

일부 교환 거래에 약간의 환전 거래를하는 저 대기 시간 시스템을 구축하고 있으며 친구가 최근에 나의 마이크로 서비스 접근 방식이 일을 더 느리게 만들 것이라고 말했습니다 ... 나는 그와 완전히 동의하지 않으며 그것이 성능에 큰 영향을 미치지 않아야한다고 생각하고 마이크로 서비스는보다 유지 보수가 용이 한 시스템을 가지기위한 올바른 길입니다. 나는이 주제에 대해 어떻게 생각 하는지를보기 위해 당신으로부터 약간의 피드백을 얻은 것을 기쁘게 생각합니다.대기 시간이 짧은 시스템의 마이크로 서비스는 좋은 추천입니까?

보다 구체적으로, 일부 공급자의 일부 데이터를 쿼리하고 JSon으로 변환 한 후 다음 애플리케이션으로 전송하는 앱이 있습니다. 두 번째 응용 프로그램은 JSonMessage를 언 마샬하여 계산을 수행하고 다시 마샬링하여 세 번째 응용 프로그램으로 보냅니다. 세 번째이자 마지막 응용 프로그램은 매우 간단하며 그 메시지와 함께 일부 통화 교환에서 작업을 수행하면됩니다.

내 친구가 마샬링 및 언 마샬링 할 때 퍼포먼스가 부족하여 3 가지 앱을 모두 1에 포함시켜야한다고 말합니다 ... 3 가지 앱 각각에 독립적으로 존재하는 여러 가지 이유를 분명히 구분할 수 있습니다. 이 스타일로 일하는 것이 문제가 될 것이라고 생각합니다. 또한 나는 데이터베이스 나 어떤 종류의 상태도 사용하지 않는다는 것을 언급하고자한다. 홀드 시스템은 완전히 무국적이다.

+3

아마 프로그래머에게 더 적합 할 것입니다. – assylias

+0

원본 버전의 면책 조항은 이것이 왜 SO에 속하는 지에 대한 좋은 사례가 아닙니다. SO는 토론 포럼이 아닙니다. 확실한 답을 얻을 수있는 코딩에 대한 구체적인 질문을 위해 "소프트웨어 디자인과 관련된"또는 "실제 소프트웨어 문제"가 아닌. [programmers.se]는 고급 디자인 개념 및 모범 사례에 대한 토론의 장소입니다. 응용 프로그램을 설계하는 최선의 방법은 무엇보다 여기서보다는 절대적으로 속합니다. [이 메타 게시물] (http://meta.stackoverflow.com/a/82990/228805)의 차이점을 설명합니다. –

답변

2

성능면에서 "주요 영향"은 유스 케이스의 의미는 무엇입니까? 1ms는 성능에 큰 영향을 미칩니 까? 10 밀리 초입니까? 0.1 밀리 초입니까? 0.01ms입니까? 귀하의 필요를 알지 못하면 큰 영향을 미치는지 여부를 말할 수 없습니다.

시간 효율성이 중요 할 때마다 측정 할 가치가 있습니다. 마샬링 해제가 걸리는 시간을 측정합니다. 다른 작업에 필요한 다른 시간을 측정하십시오. 속도 절충 및 최적화에 대한 결정은 항상 하드 데이터로 이루어져야합니다.

+0

우리는 최근에 우리가 쿼리하는 일부 데이터가 실제로 캐시 된 (항상은 아님) 것을 발견했으며, 몇 초 후에 다른 실제 값을 얻지는 않습니다. 속도는 우리에게 매우 중요하지만, 절반 이상이 걸릴지라도 심각한 영향은 없을 것입니다. 우리가 언 마샬 러에서 보내는 시간에 대해 언급 한 내용에 대해 언급 한 바를 수행 할 것입니다. 아마도 이것은 제 3 자의 캐시가 업데이트하는 데 걸리는 시간보다 적 으면 아마도 논쟁의 여지가 있습니다. 좋은 답변자, 고마워요. – sfrj