当前位置: 首页 > 工具软件 > Fizz Gateway > 使用案例 >

java发版工具fizz,微服务最强开源API网关Fizz Gateway

计寒
2023-12-01

Fizz Gateway 1.1.1版本发布!支持更多方便的后台管理功能特性:(Java 语言中最好的API网关)

1、禁止default网关分组的编辑删除;

2、修改插件配置时同时向网关推送数据;

3、限制插件名称唯一,网关分组、插件名称、增加appID字段长度限制;

4、修复插件管理校验bug,插件表单定义可为空;

5、增加路由管理详情字段必填标记;

6、修复管理后台路由配置的app为空时, 授权插件无法获取此路由配置的问题;

7、默认关闭服务白名单;

安装使用

安装依赖

安装以下依赖软件:

Redis 2.8或以上版本

MySQL 5.7或以上版本

Apollo配置中心 (可选)

Eureka服务注册中心

安装MySQL

操作系统 CentOS 6.5

MySQL 5.7.30

下载MySQL

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar

解压

tar -xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar

安装

sudo yum install mysql-community-{server,client,common,libs}-*

启动

sudo service mysqld start

启动成功会显示以下信息:

[root@localhost ~]# sudo service mysqld start

Initializing MySQL database: [ OK ]

Starting mysqld: [ OK ]

初始密码

sudo grep 'temporary password' /var/log/mysqld.log

使用初始密码登录

mysql -uroot -p

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

退出登录

quit

安装Redis 6.0.8

下载解压并编译

$ 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

启动redis

运行编译后的文件:

$ src/redis-server

客户端连接

$ src/redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

安装Apollo配置中心

说明: apollo是可选组件,如果不使用apollo可使用本地配置文件(application.yml), 如果不使用apollo可跳过此步骤。

安装步骤详见apollo官方文档:

安装Eureka服务注册中心

环境要求:

JDK 1.8 或以上版本

Tomcat 6.0.10 或以上版本 (如使用spring cloud已内置)

安装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环境变量,将下面内容追回到/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)执行以下命令全环境变量生效:

source /etc/profile

4)查看是否安装成功

java -version

安装eureka

1)使用IDE创建一个spring boot项目,如:sc-eureka-server

pom.xml:

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

在启动类上添加@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)

首次安装执行fizz-manager-professional-1.0.0-mysql.sql数据库脚本

将application-prod.yml、boot.sh、fizz-manager-professional-1.0.0.jar拷贝到/data/webapps/fizz-manager-professional目录下

修改application-prod.yml文件,将相关配置修改成部署环境的配置

修改boot.sh文件,将RUN_CMD变量值修改成部署环境的JAVA实际路径

执行 chmod +x boot.sh 命令给boot.sh增加执行权限

执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令

服务启动后访问 http://IP:8000/fizz-manager (将IP替换成服务部署机器IP地址),使用超级管理员账户admin密码Aa123!登录

管理后台前端(fizz-admin-professional)

zip资源包解压后,取文件夹【fizzAdmin】放置于服务器静态数据存放目录 如:/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社区版

说明:如果使用apollo配置中心,可把application.yml文件内容迁到配置中心(apollo上应用名为:fizz-gateway);使用不使用apollo可去掉下面启动命令里的apollo参数。

脚本启动:

下载fizz-gateway-community的最新代码,修改application.yml配置文件里eureka、redis的配置,使用maven构建好并把构建好的fizz-gateway-community-1.0.0.jar和boot.sh放同一目录

修改boot.sh脚本的apollo连接,JVM内存配置,

执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令

IDE启动:

本地clone仓库上的最新代码

将项目fizz-gateway导入IDE

导入完成后设置项目启动配置及修改application.yml配置文件里eureka、redis的配置,在VM选项中加入-Denv=dev -Dapollo.meta=http://localhost:66(Apollo配置中心地址)

jar启动:

本地clone仓库上的最新代码,修改application.yml配置文件里eureka、redis的配置

在项目根目录fizz-gateway-community下执行Maven命令mvn clean package -DskipTests=true打包

进入target目录,使用命令java -jar -Denv=DEV -Dapollo.meta=http://localhost:66 fizz-gateway-community-1.0.0.jar启动服务

网关访问地址格式:

 类似资料: