天天看點

基于consul的注冊發現的微服務架構遷移到servicemesh

現有的服務架構,是基于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"; // 附加險辨別
}
           
  1. 之前用的FeignClient中的path比對,path=contextPath+server.servlet.path,用于定義目前FeignClient的統一字首
  2. 現在改為url,官方文檔裡面url的解釋是 an absolute URL or resolvable hostname,絕對路徑的url或者可解析的主機名。localhost:19001,網格中的預設端口,而後面兩段定義的是rancher裡面服務的系統名+service_name,最後兩段是server.servlet.path

繼續閱讀