日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus Session affinity

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus Session affinity 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參見這個討論。

后端運行在多個 pods/節點時,當子序列請求過早進入時,后端將無法跨集群發送緩存失效請求。此外,如果多個請求分散在多個節點上,則會消耗延遲和不必要的資源。

對于單個客戶端,Spartacus 應該盡可能多地與單個后端交互。這在傳統上稱為“粘性會話”。

CCv2為此做了部分準備。它將 ROUTE cookie 添加到響應中。但是,此 cookie 不可配置且不使用 SameSite 策略。這意味著解耦的店面可能無法使用它,因為它作用于不同的域。今天似乎只有 chrome 有這個問題,但未來預計會有更多的瀏覽器出現。

不幸的是,今天的 Spartacus 不使用 ROUTE cookie。 Cookie 根本不會隨任何請求一起發送。為了利用 ROUTE cookie,必須執行以下操作:

  • 在 http 客戶端中使用 withCredentials: true 選項,以便每次請求都發送 cookie
  • 使用額外的 CORS 過濾器 (Allow-Origin-With-Credentials:true) 配置商務后端,以確保 cookie 通過過濾器。
  • 為了確保 Spartacus(或更好:angular)將隨請求發送 cookie,請求必須使用 withCredentials: true 選項完成。 這可以在攔截器中完成,以便我們以通用方式執行此操作并確保沒有請求忘記這一點。

    一旦前端這些增強到位,就會拋出錯誤,因為必須完成額外的后端配置。 必須添加一個新的配置屬性 corsfilter.ycommercewebservices.allowCredentials = true。

    SAP Spartacus 端具體增強方式:

    首先在 occ-config.ts 里增加一個配置項:useWithCredentials

    然后新建一個 interceptor,如果檢測到配置里啟用了 withCredentials 的選項,就對所有的 HTTP 請求進行攔截,添加對應的 withCredentials 信息。

    最后在 module 里注入這個 HTTP interceptor 實現:

    測試方法

    (1) 驗證是否為第一個 OCC 請求檢索了響應 cookie ROUTE
    (2) 驗證 ROUTE cookie 是否已添加到所有子序列請求中

    測試結果:
    當我們第一次加載 SPA 時,我們在第一次 occ 調用的響應中獲得了 ROUTE cookie。

    然后我們在后續的occ請求中獲取ROUTE cookie。

    更多Jerry的原創文章,盡在:“汪子熙”:

    總結

    以上是生活随笔為你收集整理的SAP Spartacus Session affinity的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。