Java 語言中最好的API 網關Fizz Gateway

Fizz Gateway 1.1.1版本發(fā)布同欠!支持更多方便的后臺管理功能特性:(Java 語言中最好的API網關)

1、禁止default網關分組的編輯刪除角塑;
2、修改插件配置時同時向網關推送數據淘讥;
3圃伶、限制插件名稱唯一,網關分組蒲列、插件名稱窒朋、增加appID字段長度限制;
4蝗岖、修復插件管理校驗bug侥猩,插件表單定義可為空;
5剪侮、增加路由管理詳情字段必填標記拭宁;
6、修復管理后臺路由配置的app為空時, 授權插件無法獲取此路由配置的問題瓣俯;
7杰标、默認關閉服務白名單;

安裝使用

安裝依賴

安裝以下依賴軟件:

  • Redis 2.8或以上版本
  • MySQL 5.7或以上版本
  • Apollo配置中心 (可選)
  • Eureka服務注冊中心

安裝MySQL

  • 操作系統(tǒng) CentOS 6.5
  • MySQL 5.7.30
  1. 下載MySQL
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
  1. 解壓
tar -xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
  1. 安裝
sudo yum install mysql-community-{server,client,common,libs}-*
  1. 啟動
sudo service mysqld start

啟動成功會顯示以下信息:

[root@localhost ~]# sudo service mysqld start
Initializing MySQL database:                               [  OK  ]
Starting mysqld:                                           [  OK  ]
  1. 初始密碼
sudo grep 'temporary password' /var/log/mysqld.log
  1. 使用初始密碼登錄
mysql -uroot -p
  1. 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
  1. 退出登錄
quit

安裝Redis 6.0.8

  1. 下載解壓并編譯
$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz
$ tar xzf redis-6.0.8.tar.gz
$ cd redis-6.0.8
$ make
  1. 啟動redis

運行編譯后的文件:

$ src/redis-server
  1. 客戶端連接
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

安裝Apollo配置中心

說明: apollo是可選組件彩匕,如果不使用apollo可使用本地配置文件(application.yml), 如果不使用apollo可跳過此步驟腔剂。

安裝步驟詳見apollo官方文檔:

安裝Eureka服務注冊中心

環(huán)境要求:

  • JDK 1.8 或以上版本
  • Tomcat 6.0.10 或以上版本 (如使用spring cloud已內置)
  1. 安裝JDK 1.8

1)下載JDK,如: jdk-8u192-linux-x64.tar.gz

tar -zxvf jdk-8u192-linux-x64.tar.gz
mv jdk1.8.0_192 /usr/local/

2)設置JDK環(huán)境變量驼仪,將下面內容追回到/etc/profile文件后面

JAVA_HOME=/usr/local/jdk/jdk1.8.0_192
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH

3)執(zhí)行以下命令全環(huán)境變量生效:

source /etc/profile

4)查看是否安裝成功

java -version
  1. 安裝eureka

1)使用IDE創(chuàng)建一個spring boot項目掸犬,如:sc-eureka-server

pom.xml:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

在啟動類上添加@EnableEurekaServer注解來啟用Euerka注冊中心功能:

@SpringBootApplication
@EnableEurekaServer
public class ScEurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ScEurekaServerApplication.class, args);
    }

}

application.properties配置文件:

spring.application.name=sc-eureka-server

server.port=8761
eureka.instance.hostname=localhost
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.server.enableSelfPreservation=false

2) maven構建并運行sc-eureka-server應用, 啟動后訪問地址http://localhost:8761/可以看到Eureka注冊中心的界面

3)把target/sc-eureka-server-1.0.0.jar傳到linux服務器上運行. (僅以單機部署為例)

nohub java -jar sc-eureka-server-1.0.0.jar & 

4)eureka客戶端的注冊地址為:http://localhost:8761/eureka/ (替換localhost為服務器的IP)

eureka.client.serviceUrl.defaultZone = http://localhost:8761/eureka/

安裝Fizz

管理后臺

從github的releases(https://github.com/wehotel/fizz-gateway-community/releases)下載 fizz-manager-professional 和 fizz-admin-professional 的安裝包

  • 管理后臺服務端(fizz-manager-professional)
  1. 首次安裝執(zhí)行fizz-manager-professional-1.0.0-mysql.sql數據庫腳本
  2. application-prod.ymlboot.sh绪爸、fizz-manager-professional-1.0.0.jar拷貝到/data/webapps/fizz-manager-professional目錄下
  3. 修改application-prod.yml文件湾碎,將相關配置修改成部署環(huán)境的配置
  4. 修改boot.sh文件,將RUN_CMD變量值修改成部署環(huán)境的JAVA實際路徑
  5. 執(zhí)行 chmod +x boot.sh 命令給boot.sh增加執(zhí)行權限
  6. 執(zhí)行 ./boot.sh start 命令啟動服務奠货,支持 start/stop/restart/status命令
  7. 服務啟動后訪問 http://IP:8000/fizz-manager (將IP替換成服務部署機器IP地址)介褥,使用超級管理員賬戶admin密碼Aa123!登錄
  • 管理后臺前端(fizz-admin-professional)

zip資源包解壓后,取文件夾【fizzAdmin】放置于服務器靜態(tài)數據存放目錄 如:/home/data/

nginx配置

server {
  listen 9000;
  server_name localhost:9000;
  location / {
    root /home/data/fizzAdmin;
  }
  location ^~ /api {
    rewrite ^/api/(.*) /$1 break;
    proxy_pass http://127.0.0.1:8000;
  }
}

# 注:root中地址需與資源包存放目錄路徑一致
# 注:http://127.0.0.1:8000 為管理后臺(fizz-manager-professional)的訪問地址

訪問地址

【資源部署服務器IP + 端口號】如:http://127.0.0.1:9000/

(端口號與nginx配置端口號一致)

fizz-gateway-community社區(qū)版

說明:如果使用apollo配置中心,可把application.yml文件內容遷到配置中心(apollo上應用名為:fizz-gateway)柔滔;使用不使用apollo可去掉下面啟動命令里的apollo參數溢陪。

腳本啟動:

  1. 下載fizz-gateway-community的最新代碼,修改application.yml配置文件里eureka睛廊、redis的配置形真,使用maven構建好并把構建好的fizz-gateway-community-1.0.0.jar和boot.sh放同一目錄
  2. 修改boot.sh腳本的apollo連接,JVM內存配置超全,
  3. 執(zhí)行 ./boot.sh start 命令啟動服務咆霜,支持 start/stop/restart/status命令

IDE啟動:

  1. 本地clone倉庫上的最新代碼
  2. 將項目fizz-gateway導入IDE
  3. 導入完成后設置項目啟動配置及修改application.yml配置文件里eureka、redis的配置卵迂,在VM選項中加入-Denv=dev -Dapollo.meta=http://localhost:66(Apollo配置中心地址)

jar啟動:

  1. 本地clone倉庫上的最新代碼裕便,修改application.yml配置文件里eureka、redis的配置
  2. 在項目根目錄fizz-gateway-community下執(zhí)行Maven命令mvn clean package -DskipTests=true打包
  3. 進入target目錄见咒,使用命令java -jar -Denv=DEV -Dapollo.meta=http://localhost:66 fizz-gateway-community-1.0.0.jar啟動服務

網關訪問地址格式:

http://127.0.0.1:8600/proxy/[服務名]/[API Path]

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末偿衰,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子改览,更是在濱河造成了極大的恐慌下翎,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宝当,死亡現場離奇詭異视事,居然都是意外死亡,警方通過查閱死者的電腦和手機庆揩,發(fā)現死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門俐东,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人订晌,你說我怎么就攤上這事虏辫。” “怎么了锈拨?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵砌庄,是天一觀的道長。 經常有香客問我奕枢,道長娄昆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任缝彬,我火速辦了婚禮萌焰,結果婚禮上,老公的妹妹穿的比我還像新娘谷浅。我一直安慰自己扒俯,他們只是感情好族购,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著陵珍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪违施。 梳的紋絲不亂的頭發(fā)上互纯,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音磕蒲,去河邊找鬼留潦。 笑死,一個胖子當著我的面吹牛辣往,可吹牛的內容都是我干的兔院。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼站削,長吁一口氣:“原來是場噩夢啊……” “哼坊萝!你這毒婦竟也來了?” 一聲冷哼從身側響起许起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤十偶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后园细,有當地人在樹林里發(fā)現了一具尸體惦积,經...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年猛频,在試婚紗的時候發(fā)現自己被綠了狮崩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹿寻,死狀恐怖睦柴,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情烈和,我是刑警寧澤爱只,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站招刹,受9級特大地震影響恬试,放射性物質發(fā)生泄漏。R本人自食惡果不足惜疯暑,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一训柴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妇拯,春花似錦幻馁、人聲如沸洗鸵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膘滨。三九已至,卻和暖如春稀拐,著一層夾襖步出監(jiān)牢的瞬間火邓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工德撬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铲咨,地道東北人蜓洪。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓纤勒,卻偏偏與公主長得像隆檀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恐仑,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內容