現有的服務架構,是基于consul、springcloud gateway的一套微服務架構,近期公司也是打算把所有的系統都遷移到servicemesh上,是以我們系統涉及到一次架構變更。
變更的内容如下
//@FeignClient(name = "pcms-uniquerypolicy", path = "pcms/uniquery/policyapp/rest")
//@FeignClient(name = "pcms-uniquerypolicy", url = "http://localhost:19001/pcms/uniquerypolicy/policyapp/rest")
//@FeignClient(name = "pcms-uniquerypolicy", path = "pcms/uniquerypolicy/policyapp/rest")
//@FeignClient(name = "pcms-uniquerypolicy",path = "http://10.30.59.14:9002/pcms/uniquerypolicy")
//@FeignClient(name = "testClient",path = "http://10.30.59.14:9002/pcms/uniquerypolicy/policyapp/rest")
//@FeignClient(value = "testClient",path = "http://10.30.59.14:9002/pcms/uniquerypolicy/policyapp/rest")
@FeignClient(name = "pcms-uniquerypolicy",url = "http://localhost:19001/pcms/uniquerypolicy/policyapp/rest")
public interface PolicyCbpsApi {
@RequestLine(value = "POST /stdContract/getStdContractBOList")
List<StdContractBO> getStdContractBOList(
@Param(value = "stdContractQRY") StdContractQRY stdContractQRY, @Param(value = "routeInfo") RouteInfo route);
}
//@FeignClient(name = "pcms-uniquery-gateway")
@FeignClient(name = "pcms-uniquery-gateway",url="http://localhost:19001")
public interface CpnstApi {
/**
* @throws
* @Title: getCpnstApplList
* @param: @param appl
* @param: @param sysNo
* @param: @param branchNo
* @param: @return
* @return: List<CpnstApplPO>
*/
@RequestMapping(value = ConstUtil.CONTEXT_PATH+"/cpnstAppl/getCpnstApplList", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
List<CpnstApplPO> getCpnstApplList(@RequestBody CpnstApplQRY appl, @PathVariable(value = "sysNo") String sysNo, @PathVariable(value = "branchNo") String branchNo);
}
public class ConstUtil {
private ConstUtil(){}
// public static final String CONTEXT_PATH="/pcms-uniquery{sysNo}{branchNo}/pcms/uniquery/{sysNo}-{branchNo}/daoapp/rest";
public static final String CONTEXT_PATH="/pcms/uniquery{sysNo}{branchNo}/{sysNo}-{branchNo}/daoapp/rest";
public static final String EXT_FLAG = "1"; // 附加險辨別
}
- 之前用的FeignClient中的path比對,path=contextPath+server.servlet.path,用于定義目前FeignClient的統一字首
- 現在改為url,官方文檔裡面url的解釋是 an absolute URL or resolvable hostname,絕對路徑的url或者可解析的主機名。localhost:19001,網格中的預設端口,而後面兩段定義的是rancher裡面服務的系統名+service_name,最後兩段是server.servlet.path