day07

  • eureka註冊,選擇正確網卡、註冊ip而不是主機名
  • 選擇正確網卡:
  • 訂單流量削峯
  • 導入項目到 rabbitmq 工程:
  • 導入數據庫:
  • 啓動 pd-web:
  • 訂單發送到 rabbitmq:

eureka註冊,選擇正確網卡、註冊ip而不是主機名

選擇正確網卡:

使用 bootstrap.yml 在引導階段來選擇網卡
spring:
cloud:
inetutils:
ignored-interfaces: # 忽略的網卡
- VM.*
preferred-networks: # 要是用的網卡的網段
- 192.168.0…+
###b 註冊ip而不是主機名:
使用 application.yml 配置
eureka:
instance:
prefer-ip-address: true # 使用ip進行註冊
instance-id: Spring Cloud Greenwich 或更早版本 HttpClientRibbonConfiguration_spring{spring.application.name}😒{server.port}

訂單流量削峯

導入項目到 rabbitmq 工程:

課前資料/elasticsearch/pd-商城項目案例.zip 把 pd\pd-web 文件夾,解壓縮到 rabbitmq 工程目錄
pd-web\pom.xml 拖拽到 idea
修改 springboot 版本: 2.3.2.RELEASE
導入項目: 在編輯器中右鍵 – add as maven project
application.yml 數據庫連接密碼

導入數據庫:

sqlyog,右鍵點數據庫的連接 – 從sql轉儲文件導入 – 選擇 pd-web 文件夾的 pd.sql
如果導入失敗,執行四條sql,增大mysql的緩存區,再重新導入
set global max_allowed_packet=100000000;
set global net_buffer_length=100000;
SET GLOBAL interactive_timeout=28800000;
SET GLOBAL wait_timeout=28800000;
清除數據:
delete from pd_user;
delete from pd_order;
delete from pd_order_item;

啓動 pd-web:

右鍵執行 RunPdAPP
啓動配置中,設置 working directory 設置成 pd-web 模塊文件夾路徑
重啓 RunPdAPP
訪問 http://localhost
如果瀏覽器在下載文件,先清空瀏覽器緩存再重新訪問

訂單發送到 rabbitmq:

添加 rabbitmq 依賴
yml 添加 rabbitmq 連接配置
配置使用的隊列的參數: orderQueue,持久,非獨佔,不自動刪除
使用 spring 的 Queue 對象,來封裝隊列參數
修改 OrderServiceImipl ,完成訂單發送
注入 AmqpTemplate 工具對象
調用它的 convertAndSend() 方法,發送訂單
這個方法,把訂單對象自動序列化變成 byte[] 數組再發送