2016-12-08 39 views
0

我有一個Rails應用程序,我搬到了docker。該過程迫使我將應用程序分成2個微服務:主應用程序和地址驗證微服務。我將地址驗證微服務封裝到我的主應用程序調用的另一個Rails應用程序中。它使用rest-client,它會阻塞,直到收到響應。微服務應該如何在Docker中彼此交談

請求用於在300ms內處理。現在,他們需要1.3秒。在查看newrelic數據之後,似乎大部分時間都花在主要的Rails應用程序中,稱爲地址驗證Rails應用程序。微服務應該在容器之間進行通信嗎?我想我的問題是具體的Ruby/Rails。我應該看看RabbitMQ嗎?問題是我很早就需要一個經過驗證的地址到流中,所以我不確定到地址驗證微服務Rails應用程序的異步請求會花費多少時間來購買我。

newrelic data

+0

在遷移到微服務/碼頭服務器之前,您是如何打電話給您的地址驗證服務的?服務有很大改變嗎?調用本地Web服務會增加很多時間似乎很奇怪,除非它是併發問題。您可以嘗試使用typheous或em-http-request進行非阻塞請求 – Matt

+0

地址驗證是內部呼叫。我只是把這些類放到一個新的Rails應用程序中。 –

回答

0

事實證明,地址驗證微服務出現了問題。我在地址驗證中啓用了設計,並且用戶查找/更新操作花費了大量時間。我仍然不確定他們爲什麼要這麼長時間,但是一旦我禁用了他們,我就回到了正常的數字。我需要找出設計中發生了什麼。這仍然不是我用內部呼叫所做的,但docker &微服務並不那麼糟糕。