我有一個包含許多控制器方法的服務。我的任務是將此服務“拆分”為微服務。微服務本身將部署在其他機器上。Nginx 按位置重定向。主要問題是只有一個位置 http://mydomain/myservice/srv/data接收不同類型的請求。并根據請求正文中 a 字段中的值調用之后的邏輯。例如,兩個請求:<request type="getname" val="1"/><request type="balance" val="1"/>必須轉發第一個請求,http://mydomain/myservice1/data/name然后轉發第二個請求http://mydomain/myservice2/data/balance問題:是否有任何用于此類目的的庫?UPD:我正在編寫基于 RouteLocator (spring cloud) 的簡單 jar;也許有另一種方法可以做到這一點?Spring cloud 不是我們熟悉的堆棧。
2 回答

互換的青春
TA貢獻1797條經驗 獲得超6個贊
我認為基于body中不同請求類型來代理請求的方式不是很好的代理方式。URI 最終應該負責它所服務的請求類型和它應該響應的響應。
客戶端擁有有關請求類型的所有必要信息,因此可以將請求發送到何處。從這個事實來看,我會將您擁有的資源重構為處理不同請求類型的不同資源,并確定每個負載的顯式架構。
總而言之,實現將如下所示:
為不同類型的請求重構服務器邏輯到它們自己的資源 URI
移動將請求發送到客戶端的邏輯,可能使用工廠模式之類的東西
添加回答
舉報
0/150
提交
取消