Fizz Gateway 2.7.0 출시, 그레이스케일 게시 지원

v2.7.0

변경 로그:

회색조 게시 플러그인 추가,
맞춤형 OAuth
지원, 새 버전 알림 지원
, 최적화된 인터페이스 통계 및 알람 로그 지원

그레이스케일 게시 플러그인 추가
맞춤형 OAuth
지원 새 버전 알림 지원
API 통계 및 알람 로그 최적화

피즈 게이트웨이란?

An Aggregation API Gateway in Java . Fizz Gateway는 Java를 기반으로 개발된 마이크로 서비스 통합 게이트웨이로, 독립적인 지적 재산권을 가진 애플리케이션 게이트웨이의 현지화 대안입니다. 핫 서비스 오케스트레이션 및 집계, 자동 권한 선택, 온라인 서비스 스크립트 코딩을 실현할 수 있습니다. , 온라인 테스트, 고성능 라우팅, API 감사 관리, 콜백 관리 및 기타 목적을 위해 자체적으로 확장할 수 있는 강력한 맞춤형 플러그인 시스템이 있으며 기업이 신속하게 관리하는 데 도움이 될 수 있는 친숙한 그래픽 구성 인터페이스를 제공합니다. API 서비스 및 중간 계층 글루 코드 감소 뿐만 아니라 코딩 투자를 줄이고 API 서비스의 안정성과 보안을 향상시킵니다.

데모 환경(데모)

http://demo.fizzgate.com/

계정/비밀번호: admin/Aa123!

상태 확인 주소: http://demo.fizzgate.com/admin/health  (온라인 버전의 경우 관리자 경로의 외부 네트워크 액세스를 제한하십시오)

API 주소: http://demo.fizzgate.com/proxy/[서비스 이름]/[API_Path]

피즈의 디자인

Fizz의 일반적인 적용 시나리오

제품 특징

  • 클러스터 관리: Fizz 게이트웨이 노드는 상태 비저장이며 구성 정보가 자동으로 동기화되며 노드의 수평 확장 및 다중 클러스터 배포를 지원합니다.
  • 보안 인증: 내장된 키 인증, JWT, 기본 인증 인증 방식을 지원하며 쉽게 제어할 수 있습니다.
  • 서비스 오케스트레이션: HTTP, Dubbo, gRPC, Soap 프로토콜 핫 서비스 오케스트레이션 기능 지원, 프론트엔드 및 백엔드 코딩 지원, JSON/XML 출력 지원, 언제 어디서나 API 업데이트
  • 로드 밸런싱: 라운드 로빈 로드 밸런싱을 지원합니다.
  • 다중 레지스트리: Eureka 또는 Nacos 레지스트리에서 서비스 검색을 지원합니다.
  • 구성 센터: apollo 구성 센터에 대한 액세스를 지원합니다.
  • HTTP 역방향 프록시: 실제 백엔드 서비스를 숨기고 Rest API 역방향 프록시를 지원합니다.
  • 액세스 정책: 다른 API에 액세스하고 다른 인증을 구성하기 위해 다른 정책을 지원합니다.
  • IP 블랙 및 화이트 리스트: IP 블랙 및 화이트 리스트 구성을 지원합니다.
  • 사용자 정의 플러그인: 강력한 플러그인 메커니즘이 무료 확장을 지원합니다.
  • 확장 가능: 간단하고 사용하기 쉬운 플러그인 메커니즘은 확장된 기능을 용이하게 합니다.
  • 고성능: 많은 게이트웨이 중에서 성능이 우수합니다.
  • 버전 제어: 작업의 게시 및 다중 롤백을 지원합니다.
  • 관리 배경: 관리 배경 인터페이스를 통해 게이트웨이 클러스터를 구성합니다.
  • 콜백 관리: 콜백 관리, 구독, 재생 및 로깅을 지원합니다.
  • 다단계 전류 제한: 세분화된 전류 제한 방법에는 서비스 전류 제한, 인터페이스 전류 제한, APP_ID 전류 제한 및 IP 전류 제한이 포함됩니다.
  • 마이크로 서비스 문서: 엔터프라이즈 수준 관리는 마이크로 서비스 문서 관리를 열어 시스템 통합을 보다 편리하게 만듭니다.
  • 공중망 전용회선: 공중망에 완전히 보호된 사설 연결 채널을 구축합니다.
  • 정책 회로 차단기: 서비스 또는 특정 주소를 기반으로 여러 복구 전략 회로 차단기 구성을 수행합니다.

벤치마크

동일한 환경과 조건을 사용하여 단일 노드를 테스트하면서 Fizz를 시중의 주요 게이트웨이 제품과 비교했습니다. Mock 인터페이스는 20ms 지연을 시뮬레이션하고 패킷 크기는 약 2K입니다.

  • Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz * 4
  • 리눅스 버전 3.10.0-957.21.3.el7.x86_64
  • 8G 램
분류 제품 600 동시
QPS
600 동시
90% 대기 시간(ms)
1000 동시
QPS
1000 동시
90% 대기 시간(ms)
백엔드 서비스 백엔드 서비스에 직접 액세스 23540 32.19 27325 52.09
트래픽 게이트웨이
v2.4.1
15662 50.87 17152 84.3
애플리케이션 게이트웨이 fizz-gateway-community
v2.0.0
12206 65.76 12766 100.34
애플리케이션 게이트웨이 스프링 클라우드 게이트웨이
v2.2.9
11323 68.57 10472 127.59
애플리케이션 게이트웨이
선유 v2.3.0
9284 92.98 9939 148.61

버전 비교

  • Fizz-gateway-community: 커뮤니티 에디션

  • Fizz-manager-professional: 관리 배경 전문가 버전(서버)

  • Fizz-admin-professional: 관리자 백그라운드 전문가 버전(프론트 엔드)

Fizz-gateway-커뮤니티 피즈매니저-프로 피즈 관리 전문가
v1.0.0 v1.0.0 v1.0.0
v1.1.0 v1.1.0 v1.1.0
v1.1.1 v1.1.1 v1.1.1
v1.2.0 v1.2.0 v1.2.0

v1.3.0부터 관리 배경의 프론트 엔드와 서버 측이 하나의 패키지로 병합됩니다.

  • Fizz-gateway-community: 커뮤니티 에디션

  • Fizz-manager-professional: 관리 배경

Fizz-gateway-커뮤니티 피즈매니저-프로
v1.3.0 v1.3.0
v1.4.0 v1.4.0
v1.4.1 v1.4.1
v1.5.0 v1.5.0
v1.5.1 v1.5.1
v2.0.0 v2.0.0
v2.1.0 v2.1.0
v2.2.0 v2.2.0
v2.2.1 v2.2.1
v2.2.3 v2.2.3
v2.3.0 v2.3.0
v2.3.2 v2.3.2
v2.3.3 v2.3.3
v2.4.0 v2.4.0
v2.4.1 v2.4.1
v2.5.0 v2.5.0
v2.5.1 v2.5.1
v2.5.2 v2.5.2
v2.6.0 v2.6.0
v2.6.1 v2.6.1
v2.6.2 v2.6.2
v2.6.3 v2.6.3
v2.6.4 v2.6.4
v2.6.5 v2.6.5
v2.6.6 v2.6.6
v2.7.0 v2.7.0

커뮤니티 버전의 버전에 따라 해당 관리 배경 버전을 다운로드하십시오.

배포 지침

자세한 배포 자습서 >>>

종속성 설치

다음 종속성을 설치합니다.

  • Redis 2.8 이상
  • MySQL 5.7 이상
  • Apollo 구성 센터(선택 사항)
  • Eureka 또는 Nacos 서비스 레지스트리(선택 사항)

종속성 설치에 대해서는 자세한 배포 자습서를 참조하십시오.

피즈 설치

1. 관리 배경 설치

从github的releases(https://wj.qq.com/s2/8682608/8fe2/) 下载 fizz-manager-professional 安装包

管理后台(fizz-manager-professional)

说明:

  1. 以下安装步骤出现的{version}表示所使用管理后台的版本号,例如1.3.0

安装方式一:二进制安装包

  1. 解压fizz-manager-professional-{version}.zip安装包
  2. 首次安装执行fizz-manager-professional-{version}-mysql.sql数据库脚本,从低版本升级至高版本选择执行update目录下对应升级脚本
  3. 修改application-prod.yml文件,将相关配置修改成部署环境的配置
  4. Linux启动 执行 chmod +x boot.sh 命令给boot.sh增加执行权限;执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令
  5. Windows启动 执行.\boot.cmd start 命令启动服务,支持 start/stop/restart/status命令

安装方式二(v2.0.0或以上版本):docker:

  1. 下载对应版本的镜像:docker pull fizzgate/fizz-manager-professional:{version}
  2. 通过环境变量方式修改redis配置、database配置(其它配置同理)并运行镜像
docker run --rm -d -p 8000:8000 \
-e "spring.redis.host={your redis host IP}" \
-e "spring.redis.port={your redis port}" \
-e "spring.redis.password={your redis password}" \
-e "spring.redis.database={your redis database}" \
-e "spring.datasource.url=jdbc:mysql://{your MySQL database host IP}:3306/fizz_manager?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true" \
-e "spring.datasource.username={your MySQL database username}" \
-e "spring.datasource.password={your MySQL database password}" \
fizzgate/fizz-manager-professional:{version}

或通过映射目录方式使用外部配置文件和输出日志到宿主机, 配置文件可从安装包里获取,在宿主机创建fizz-manager-professional/config和fizz-manager-professional/logs目录,把application-prod.yml配置文件放置config下,在fizz-manager-professional目录下运行镜像

cd fizz-manager-professional
docker run --rm -d -p 8000:8000 \
-v $PWD/config:/opt/fizz-manager-professional/config \
-v $PWD/logs:/opt/fizz-manager-professional/logs fizzgate/fizz-manager-professional:{version}

服务启动后访问 http://{部署机器IP地址}:8000/#/login,使用超级管理员账户admin密码Aa123!登录

二、安装fizz-gateway-community社区版

说明:

  1. 支持配置中心:apollo、nacos,支持注册中心:eureka、nacos,详细配置方法查看application.yml文件。
  2. 如果使用apollo配置中心,可把application.yml文件内容迁到配置中心(apollo上应用名为:fizz-gateway);如果不使用apollo可去掉下面启动命令里的apollo参数。
  3. 以下安装步骤出现的{version}表示所使用网关的版本号,例如1.3.0

安装方式一:二进制安装包

  1. 下载fizz-gateway-community的二进制安装包,解压修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
  2. 根据需要修改boot.sh脚本的apollo连接,不使用apollo配置中心可跳过
  3. Linux启动 执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令
  4. Windows启动 执行.\boot.cmd start 命令启动服务,支持 start/stop/restart/status命令

安装方式二:源码安装:

  1. 本地clone仓库上的最新代码,修改application.yml配置文件里配置中心、注册中心、redis(redis配置需与管理后台一致)的配置
  2. 在项目根目录fizz-gateway-community下执行Maven命令mvn clean package install -DskipTests=true
  3. 在项目目录fizz-gateway-community/fizz-bootstrap下执行Maven命令mvn clean package -DskipTests=true
  4. 进入fizz-gateway-community/fizz-bootstrap/target/fizz-gateway-community目录,执行 ./boot.sh start 命令启动服务,支持 start/stop/restart/status命令

安装方式三(v2.0.0或以上版本):docker:

  1. 下载对应版本的镜像:docker pull fizzgate/fizz-gateway-community:{version}
  2. 通过环境变量方式修改redis配置(其它配置同理)并运行镜像
docker run --rm -d -p 8600:8600 \
-e "aggregate.redis.host={your redis host IP}" \
-e "aggregate.redis.port={your redis port}" \
-e "aggregate.redis.password={your redis password}" \
-e "aggregate.redis.database={your redis database}" \
fizzgate/fizz-gateway-community:{version}

或通过映射目录方式使用外部配置文件和输出日志到宿主机, 配置文件可从安装包或源码里获取,在宿主机创建fizz-gateway-community/config和fizz-gateway-community/logs目录,把application.yml和log4j2-spring.xml配置文件放置config下,在fizz-gateway-community目录下运行镜像

cd fizz-gateway-community
docker run --rm -d -p 8600:8600 \
-v $PWD/config:/opt/fizz-gateway-community/config \
-v $PWD/logs:/opt/fizz-gateway-community/logs fizzgate/fizz-gateway-community:{version}

最后访问网关,地址形式为:http://127.0.0.1:8600/proxy/[服务名]/[API_Path]

추천

출처www.oschina.net/news/210237/fizz-gateway-2-7-0-released