Java-RPC通訊--HSF框架

最近leader給了KingYiFan一個任務,就是對接某國企的業務,人家用的淘寶的HSF框架RPC通訊 根本不用httpclient what??? RPC不是Dubbo底層協議嗎?這怎麼通信呢?翻遍了整個百度沒有我想要的。 有一個大佬人家本身封裝了一個RPC通信含監控中心(積分下載的)須要聯繫我哈。linux

file

最後仍是去老老實實看官網吧。 如下知識是我昨天學的,若有錯誤請指出。windows

HSF提供了兩種開發模式api

HSF概述:tomcat

file

file

file

file

HSF框架有兩種開發方式(Ali-tomcat、Pandora Boot):微信

file

咱們從Ali-tomcat開始提及。。 Ali-Tomcat概述:app

file

安裝 Ali-Tomcat 和 Pandora 並配置開發環境框架

  1. 下載Ali-Tomcat :點我直接下載哦!異步

  2. 下載好了找個地方解壓並保存(和Tomcat其實沒什麼區別,只是被阿里那幫大佬給封裝了)存放目錄(D:\dev\apps\EDAS\taobao-tomcat-7.0.59)maven

file

3.下載 Pandora 容器。點我直接下載哦!ide

4.保存後將內容解壓至上述保存的 Ali-Tomcat 的 deploy 目錄(D:\dev\apps\EDAS\taobao-tomcat-7.0.59\deploy)下

file

5.配置開發環境: 5.1 Ecplise配置: 5.1.1 下載 Tomcat4E 插件,並解壓至本地(如:D:\dev\apps\EDAS\tomcat4e)。

file 5.1.2 安裝ecplise插件

file

返回 Install 對話框,單擊 Select All,而後單擊 Next。 後續還有幾個步驟,按界面提示操做便可。安裝完成後,Eclipse 須要重啓,以使 Tomcant4E 插件生效。 (Tips:建議安裝ecplise插件的時候斷網。要不他就會遠端拉取。遠端要是在國內還好,要是在國外。呵呵呵呵。。。。。)

5.1.3 配置剛剛安裝的插件

file

5.1.4 直接Run啓動服務出現下圖證實ecplise安裝完成:

file

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 完成配置(具體以下圖)。

file

6.安裝配置中心(俗稱監控中心):本地正確配置環境變量 JAVA_HOME,指向一個 1.6 或 1.6 以上版本的 JDK。確認 8080 和 9600 端口未被使用。

6.1 下載配置中心:點我下載最新版的配置中心

6.2 解壓配置中心壓縮包 並保存(慄:D:\dev\apps\EDAS\edas-lite-configcenter)

file

6.3 啓動配置環境中心: 6.3.1 windows 直接啓動startup.bat文件

file

6.3.2 linux 請在當前目錄下執行 sh startup.sh 命令。

file

7.修改host文件(爲何要修改host文件呢? 由於EDAS的hsf在阿里雲是收費的 沒有註冊是不能使用的。咱們直接讓程序找本地) 對於須要使用輕量配置中心的開發機器,請在本地 DNS(hosts 文件)中,將 jmenv.tbsite.net 域名指向啓動了 EDAS 配置中心的機器 IP。 hosts 文件的路徑以下: Windows 操做系統:C:\Windows\System32\drivers\etc\hosts Unix 操做系統:/etc/hosts(具體以下圖)

file

訪問:http://jmenv.tbsite.net:8080/ (看到下圖就是配置中心安裝完成)

file

能夠看下官網HSF提供的Demo點我下載哦! 解壓下載的壓縮包,能夠看到carshop文件夾,裏面包含 itemcenter-api,itemcenter 和 detail 三個 Maven 工程文件夾。 itemcenter-api:提供接口定義 itemcenter:生產者服務 detail:消費者服務

file

啓動server服務 選擇項目 選擇端口

file

沒有報錯便可啓動成功

file

訪問監控中心 就能夠看到剛剛服務。

file

啓動client消費端(步驟跟server服務同樣)

file

啓動完成就開始消費了。

file

仔細看他們的Demo(只要監聽到服務啓動 就開始消費。而且寫了一個線程 循環調用執行)

file

查詢監控中心有服務調用者。這個時候HSF AliTomcat基本就沒問題了。

咱們來看下HSF 怎麼寫的。 咱們看到這個圖 依賴關係 itemcenter 依賴 itemcenter-api jar包 detail 依賴 itemcenter-api文件

file

server端 實現類 引入阿里的jar包

file

寫實現類 而後在xml發佈一個服務 (實現類實現api提供的接口)

file

提供給用戶用的接口jar包工程(這個工程職業接口和實體類)

file

消費端(也是客戶端 依賴api工程)

file

很簡單的 HSF-Alitomcat demo就弄完了,剩下只須要寫你的業務就行了。更多詳細請查閱EDAS-HSF官網

再說一下HSF另外一種開發方式:使用Pandora Boot開發

file

開發配置:

  1. 須要配置私服環境(個人maven沒有在默認的。通常都在默認maven環境 ~/.m2/settings.xml 中,在 settings.xml 中加入以下配置:)

file

<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 。

file

1.1. 無報錯,代表 setting.xml 文件格式沒問題。 1.2. profiles 中包含 edas.oss.repo 這個 profile,代表私服已經配置到 profiles 中。 1.3. 在 activeProfiles 中 包含 edas.oss.repo 屬性,代表 edas.oss.repo 私服已激活。 下面證實成功

file

  1. 配置我剛上面說的監控中心

file

下載官方提供的DEMO:點我下載生產者服務哦!點我下載客戶消費者哦!

來咱們看看項目的結構(此次沒有api jar包兩個都是SpringBoot項目)

file

引入jar包:

file server服務者和第一種區別就是 用的註解更簡單了呢。註冊服務

file consumer 消費端 建立一個config 而後用@HSFConsumer 注入

file 只須要用一次註解 別的地方直接能夠用Autowired 註解直接注入。

file

消費者 和生成者兩個啓動類必須加入一下代碼哦: file

直接啓動main方法: server端:

file

client:

file

看到監控中心以下圖(證實就搭建成功了)

file

咱們來調用一下server的服務

file 有木有有人會問我爲何是18082端口呢? file

可不能夠調用用Ali-Tomcat服務呢。 先把這個jar包install

file

install打包報下圖異常

file

解決方案以下圖(也能夠安裝jdk的時候不裝jre)

file 打包成功而且放到本地倉庫

file

引入依賴 file

注入接口:

file

必定要和服務端分組名稱 路徑 和版本號一值。 file 調用接口 file 測試一下: 啓動服務端:

file

啓動客戶端:

file

查詢監控中心:

file

file 訪問地址:http://127.0.0.1:18082/hsf-item

file 實現類方法:

file

後面還有異步調用方法(感興趣能夠本身學一下,具體看官方文檔,能夠與我互相交流哦!)

終。。。


鼓勵做者寫出更好的技術文檔,就請我喝一瓶哇哈哈哈哈哈哈哈。。大家的贊助決定我更新的速度哦!

微信:

支付寶:


感謝一路支持個人人。。。。。

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)
相關文章
相關標籤/搜索