最近leader給了KingYiFan一個任務,就是對接某國企的業務,人家用的淘寶的HSF框架RPC通訊 根本不用httpclient what??? RPC不是Dubbo底層協議嗎?這怎麼通信呢?翻遍了整個百度沒有我想要的。 有一個大佬人家本身封裝了一個RPC通信含監控中心(積分下載的)須要聯繫我哈。linux
最後仍是去老老實實看官網吧。 如下知識是我昨天學的,若有錯誤請指出。windows
HSF提供了兩種開發模式api
HSF概述:tomcat
HSF框架有兩種開發方式(Ali-tomcat、Pandora Boot):微信
咱們從Ali-tomcat開始提及。。 Ali-Tomcat概述:app
安裝 Ali-Tomcat 和 Pandora 並配置開發環境框架
下載Ali-Tomcat :點我直接下載哦!異步
下載好了找個地方解壓並保存(和Tomcat其實沒什麼區別,只是被阿里那幫大佬給封裝了)存放目錄(D:\dev\apps\EDAS\taobao-tomcat-7.0.59)maven
3.下載 Pandora 容器。點我直接下載哦!ide
4.保存後將內容解壓至上述保存的 Ali-Tomcat 的 deploy 目錄(D:\dev\apps\EDAS\taobao-tomcat-7.0.59\deploy)下
5.配置開發環境: 5.1 Ecplise配置: 5.1.1 下載 Tomcat4E 插件,並解壓至本地(如:D:\dev\apps\EDAS\tomcat4e)。
5.1.2 安裝ecplise插件
返回 Install 對話框,單擊 Select All,而後單擊 Next。 後續還有幾個步驟,按界面提示操做便可。安裝完成後,Eclipse 須要重啓,以使 Tomcant4E 插件生效。 (Tips:建議安裝ecplise插件的時候斷網。要不他就會遠端拉取。遠端要是在國內還好,要是在國外。呵呵呵呵。。。。。)
5.1.3 配置剛剛安裝的插件
5.1.4 直接Run啓動服務出現下圖證實ecplise安裝完成:
5.2 IDEA配置:
5.2.1 從菜單欄中選擇 Run > Edit Configuration。在 Run/Debug Configuration 頁面左側的導航欄中選擇 Defaults > Tomcat Server > Local。配置 AliTomcat。 在右側頁面單擊 Server 頁籤,而後在 Application Server 區域單擊 Configure在 Application Server 頁面右上角單擊 +,而後在 Tomcat Server 對話框中設置 Tomcat Home 和 Tomcat base directory 路徑,單擊 OK。將 Tomcat Home 的路徑設置爲本地解壓後的 Ali-Tomcat 路徑,Tomcat base directory 能夠自動使用該路徑,無需再設置。在 Application Server 區域的下拉菜單中,選擇剛剛配置好的 Ali-Tomcat。在 VM Options 區域的文本框中,設置 JVM 啓動參數指向 Pandora 的路徑,如:-Dpandora.location=D:\dev\apps\EDAS\taobao-tomcat-7.0.59\deploy\taobao-hsf.sar說明:D:\dev\apps\EDAS\taobao-tomcat-7.0.59\deploy\taobao-hsf.sar須要替換爲在本地安裝 Pandora 的實際路徑。單擊 Apply 或 OK 完成配置(具體以下圖)。
6.安裝配置中心(俗稱監控中心):本地正確配置環境變量 JAVA_HOME,指向一個 1.6 或 1.6 以上版本的 JDK。確認 8080 和 9600 端口未被使用。
6.1 下載配置中心:點我下載最新版的配置中心
6.2 解壓配置中心壓縮包 並保存(慄:D:\dev\apps\EDAS\edas-lite-configcenter)
6.3 啓動配置環境中心: 6.3.1 windows 直接啓動startup.bat文件
6.3.2 linux 請在當前目錄下執行 sh startup.sh 命令。
7.修改host文件(爲何要修改host文件呢? 由於EDAS的hsf在阿里雲是收費的 沒有註冊是不能使用的。咱們直接讓程序找本地) 對於須要使用輕量配置中心的開發機器,請在本地 DNS(hosts 文件)中,將 jmenv.tbsite.net 域名指向啓動了 EDAS 配置中心的機器 IP。 hosts 文件的路徑以下: Windows 操做系統:C:\Windows\System32\drivers\etc\hosts Unix 操做系統:/etc/hosts(具體以下圖)
訪問:http://jmenv.tbsite.net:8080/ (看到下圖就是配置中心安裝完成)
能夠看下官網HSF提供的Demo點我下載哦! 解壓下載的壓縮包,能夠看到carshop文件夾,裏面包含 itemcenter-api,itemcenter 和 detail 三個 Maven 工程文件夾。 itemcenter-api:提供接口定義 itemcenter:生產者服務 detail:消費者服務
啓動server服務 選擇項目 選擇端口
沒有報錯便可啓動成功
訪問監控中心 就能夠看到剛剛服務。
啓動client消費端(步驟跟server服務同樣)
啓動完成就開始消費了。
仔細看他們的Demo(只要監聽到服務啓動 就開始消費。而且寫了一個線程 循環調用執行)
查詢監控中心有服務調用者。這個時候HSF AliTomcat基本就沒問題了。
咱們來看下HSF 怎麼寫的。 咱們看到這個圖 依賴關係 itemcenter 依賴 itemcenter-api jar包 detail 依賴 itemcenter-api文件
server端 實現類 引入阿里的jar包
寫實現類 而後在xml發佈一個服務 (實現類實現api提供的接口)
提供給用戶用的接口jar包工程(這個工程職業接口和實體類)
消費端(也是客戶端 依賴api工程)
很簡單的 HSF-Alitomcat demo就弄完了,剩下只須要寫你的業務就行了。更多詳細請查閱EDAS-HSF官網
再說一下HSF另外一種開發方式:使用Pandora Boot開發
開發配置:
<profiles> <profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url>http://repo1.maven.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://repo1.maven.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> <profile> <id>edas.oss.repo</id> <repositories> <repository> <id>edas-oss-central</id> <name>taobao mirror central</name> <url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>edas-oss-plugin-central</id> <url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> <activeProfile>edas.oss.repo</activeProfile> </activeProfiles>
在命令行執行以下命令 mvn help:effective-settings 。
1.1. 無報錯,代表 setting.xml 文件格式沒問題。 1.2. profiles 中包含 edas.oss.repo 這個 profile,代表私服已經配置到 profiles 中。 1.3. 在 activeProfiles 中 包含 edas.oss.repo 屬性,代表 edas.oss.repo 私服已激活。 下面證實成功
下載官方提供的DEMO:點我下載生產者服務哦!點我下載客戶消費者哦!
來咱們看看項目的結構(此次沒有api jar包兩個都是SpringBoot項目)
引入jar包:
server服務者和第一種區別就是 用的註解更簡單了呢。註冊服務
consumer 消費端 建立一個config 而後用@HSFConsumer 注入
只須要用一次註解 別的地方直接能夠用Autowired 註解直接注入。
消費者 和生成者兩個啓動類必須加入一下代碼哦:
直接啓動main方法: server端:
client:
看到監控中心以下圖(證實就搭建成功了)
咱們來調用一下server的服務
有木有有人會問我爲何是18082端口呢?
可不能夠調用用Ali-Tomcat服務呢。 先把這個jar包install
install打包報下圖異常
解決方案以下圖(也能夠安裝jdk的時候不裝jre)
打包成功而且放到本地倉庫
引入依賴
注入接口:
必定要和服務端分組名稱 路徑 和版本號一值。 調用接口 測試一下: 啓動服務端:
啓動客戶端:
查詢監控中心:
訪問地址:http://127.0.0.1:18082/hsf-item
實現類方法:
後面還有異步調用方法(感興趣能夠本身學一下,具體看官方文檔,能夠與我互相交流哦!)
終。。。
鼓勵做者寫出更好的技術文檔,就請我喝一瓶哇哈哈哈哈哈哈哈。。大家的贊助決定我更新的速度哦!
微信:
支付寶:
感謝一路支持個人人。。。。。 Love me and hold me QQ:69673804(16年老號) EMAIL:69673804@qq.com 友鏈交換 若是有興趣和本博客交換友鏈的話,請按照下面的格式在評論區進行評論,我會盡快添加上你的連接。
網站名稱:KingYiFan’S Blog 網站地址:http://blog.cnbuilder.cn 網站描述:年少是你未醒的夢話,風華是燃燼的彼岸花。 網站Logo/頭像: [頭像地址](https://blog.cnbuilder.cn/upload/2018/7/avatar20180720144536200.jpg)