阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

SIA-GateWay 之 API 网关安装部署指南

  • 2020-02-07
  • 本文字数:3668 字

    阅读完需:约 12 分钟

SIA-GateWay之API网关安装部署指南

SIA-GATEWAY 是基于 SpringCloud 微服务生态体系下开发的一个分布式微服务网关系统。具备简单易用、可视化、高可扩展、高可用性等特征,提供云原生、完整及成熟的接入服务解决方案。

1、 环境

  • 编译环境

  • Maven3+

  • nodejs

  • Jdk1.8+

  • 运行时第三方依赖

  • Mysql5.6+

  • elasticsearch 5.5.2

  • kibana-5.5.2

  • kafka 2.12-2.0.0

  • redis 3.2.11

  • eureka-server

  • 运行环境

  • 64bit OS,Linux/Mac/Windows/docker

  • JDK1.8+

2、源码下载

git clone https://github.com/siaorg/sia-gateway.git  
复制代码


  • 源码结构如下:


.  ├── sia-gateway-admin-buildcomponent  网关admin组件集合  │   ├── sia-gateway-admin             网关admin监控系统组件  │   ├── sia-gateway-synchspeed        网关对下游服务实时感知组件  │   ├── sia-gateway-stream            网关日志组件  │   ├── sia-gateway-service           网关系统辅助组件  │   ├── sia-gateway-monitor           网关监控、日志组件  │   │    ├── sia-gateway-reactive      │   │    ├── sia-gateway-messaging    基础依赖   │   │    ├── sia-gateway-sink  │   │    ├── sia-gateway-esclient  │   │    ├── sia-gateway-base  ├── sia-gateway-admin-display         网关系统前端代码  ├── sia-gateway-buildcomponent        网关core-buildcomponent  │   ├── sia-gateway-core              网关Core节点  │   │   ├── sia-gateway-base  │   │   ├── sia-gateway-messaging     基础依赖  │   │   ├── sia-gateway-reactive  │   │   ├── sia-gateway-template  
复制代码

3、 初始化“API 网关数据库”

  1. MySQL 的安装和配置详见 MySQL 官方文档

  2. 请下载项目源码并解压,获取 “API 网关数据库初始化 SQL 脚本” 并执行即可。

  3. “API 网关数据库初始化 SQL 脚本” 位置为:


/sia-gateway/sia-gateway-admin/src/main/resources/db/gateway_admin.sql  
复制代码

4、 配置“网关系统”

网关配置文件地址:


\# 网关admin中心conf  /sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_admin_test.yml  
\# 网关监控服务conf /sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_monitor_test.yml
\# 网关辅助节点conf /sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_service_test.yml
\# 网关日志服务conf /sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_stream_test.yml
\# 网关实时感知服务conf /sia-gateway/sia-gateway-admin-buildcomponent/config/gateway_synchspeed_test.yml
\# 网关核心节点conf /sia-gateway/sia-gateway-buildcomponent/config/gateway_test.yml
复制代码


  • gateway_admin_test.yml




1568180738404086144.png


1568180754775042222.png


  • gateway_service_test.yml



1568180772765099838.png


  • gateway_stream_test.yml


  • 1568180787676003914.png

  • gateway_synchspeed_test.yml



1568180796668076945.png


  • gateway_monitor_test.yml



1568180807025031991.png


  • gateway_test.yml





1568180821285079014.png


1568180829206002677.png


1568180838416035851.png


说明:spring.application.name 为网关组名称,开发者可以修改此属性,搭建新的网关组


  • maven 仓库地址配置







复制代码

5 构建部署项目

5.1 编译项目

  • 如果已经正确进行上述配置,可将项目编译打包部署。

  • 操作步骤:


    cd sia-gateway  
chmod +x *.sh
sh build.sh
复制代码


  • 打包成功后,会出现以下标注文件。

  • /sia-gateway/sia-gateway-admin-buildcomponent/target/gateway_admin_1.0.zip



1568180868946014405.png


  • /sia-gateway/sia-gateway-buildcomponent/target/gateway_1.0.zip



1568180880126079314.png


  • /sia-gateway/sia-gateway-admin-display/dist/



1568180886926034962.png


注:前端打包需要用到 nodeJs,如未安装,可请参考 nodejs安装文档

5.2 部署项目

  • API 网关系统的部署方式为分布式部署集中式管理模式,即网关 Core 节点可以按业务线划分为不同的网关组,网关管理端作为网关的管理中心,供统一的管理界面,用户可在此进行 API、组件、系统基础信息的设置和维护,收集监控日志、生成各种运维管理报表、自动告警等。

  • sia-gateway-admin-buildcomponent 是网关管理端组件集,包括:admin、stream、service、synchspeed、monitor;管理端部署单个节点即可(目前不支持集群)。

  • sia-gateway-buildcomponent 为网关 Core 组件,可以按业务线分组,组内以单节点或集群方式部署。

Vmware 方式部署

  • 后端部署


unzip gateway_admin_1.0.zip  
cd /gatewayadmin/bin
chmod +x *.sh
\#启动网关管理服务,包括:admin、stream、service、synchspeed、monitor。 sh onekey_start.sh
--------------------------------------------------- unzip gateway_1.0.zip
cd /gateway/bin
chmod +x *.sh
\#启动网关Core服务 sh start_gateway_test.sh
复制代码


  • 前端部署

  • 修改前端 site-map.js



1568180902927084606.png


+ nginx的代理配置,进入nginx的目录下nginx.conf,添加如下配置:  
```conf upstream apigateway.open.location1 { \#### sia-gateway-admin服务IP server *******:8090 ; } server { \# nginx 监听端口 listen 18086; server_name localhost; access_log logs/host.access.log main; \#access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main; location / { \#root html; \#index index.html index.htm; root /app/jar/ROOT/dist; index index.html index.htm; } \# 后端服务location location ^~ /vv1/ { proxy_pass http://apigateway.open.location1/; proxy_set_header Host $host; proxy_set_header X-Real-IP $http_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; } error_page 500 502 503 504 /50xcn.html; location = /50xcn.html { root html/error_page; index 50xcn.html; } location /check_status { vhost_traffic_status_display; vhost_traffic_status_display_format json; } } ``` + 重启nginx
```sh \#校验配置是否正确 ./nginx -t
\# 重新启动 ./nginx -s reload
```
复制代码

****

Docker 镜像方式部署

  • 说明:如果 docker 环境和编译环境是在同一个操作系统上,可直接执行以下步骤;反之,需要先将以下文件按原目录结构上传 docker 环境所在服务器。

  • /sia-gateway/sia-gateway-admin-buildcomponent/target/gateway_admin_1.0.zip

  • /sia-gateway/sia-gateway-buildcomponent/target/gateway_1.0.zip

  • /sia-gateway/sia-gateway-admin-display/dist/

  • /sia-gateway/third-libary

  • /sia-gateway/build.sh

  • /sia-gateway/docker-start.sh

  • /sia-gateway/docker-run.sh

  • /sia-gateway/Dockerfile

  • 步骤:


1)配置:修改 site-map.js,位置:/dist/static/site-map.js


        /**           \* vmware部署: 127.0.0.1 ----> nginx的ip地址           \* docker镜像部署: 127.0.0.1 ----> docker容器的宿主机ip           \*/          'CESHI_API_HOST': '127.0.0.1:18086/vv1',  
/** \* 127.0.0.1 ----> kibana的ip地址 \*/ 'CESHI_API_HOST_LOG': '127.0.0.1:5601'
复制代码


2)下载 centos 基础镜像,如果已经下载,此步忽略。


3)修改 Dockerfile,FROM 镜像名 : 版本号



1568181692583000329.png


4)配置 yum 源,如果部署机器能够使用阿里 yum 源,此步忽略。


将 yum 源文件名称修改成 CentOS-Base.repo,并替换到/sia-gateway/third-libary/下


5)构建镜像,并启动容器和服务


    \# 构建镜像      cd /sia-gateway/   
\# 授权 chmod +x *.sh
\# 构建镜像 sh docker-build.sh
\# 启动容器和服务 sh docker-run.sh
\# 查看容器是否启动成功 docker ps
\# 进入容器查看服务运行情况 docker exec -it gateway-test:v1 bash
复制代码


访问地址: ****http://宿主机IP:18086/


1568181646004081222.png

1568181684715043436.png

说明:

  • Docker 镜像部署方式是我们为方便开发者简单、快速地基于 docker 环境搭建网关系统而提供的一种 ALL-IN-ONE 形式的网关部署 Demo,即网关监控服务、预警、网关核心节点等都构建在一个 docker 镜像中;开发者可以根据开发环境条件来灵活选择部署方案,推荐使用 vmware+docker 镜像部署方式,即将网关管理端服务部署在 vmware 上,网关核心节点部署在 docker 环境中。




SIA 相关开源产品链接



本文转载自宜信技术学院网站。


原文链接:http://college.creditease.cn/detail/298


2020-02-07 20:43899

评论

发布
暂无评论
发现更多内容

流量为王时代,华为云耀云服务器L实例让网站建设不焦虑

轶天下事

阿里云太“氪金”?试试华为云超高性价比轻量应用服务器

平平无奇爱好科技

无脑推荐的轻量应用服务器有没有?华为云是最佳选择

平平无奇爱好科技

智能管理、极致性能:华为云耀云服务器L实例引领小程序开发新潮流

平平无奇爱好科技

SQL 中的运算符与别名:使用示例和语法详解

小万哥

MySQL 数据库 程序员 sql 后端开发

钱少事少效率高,华为云这款轻量应用服务器真乃职场神器

轶天下事

WorkPlus即时通讯软件,以自主安全为底座,连接工作的一切

BeeWorks

开启数字化转型之选,探寻华为云耀云服务器L实例的独特魅力

YG科技

超强新品叠加价格特惠,华为云助力小程序开发红海“掘金”

轶天下事

新手站长网站开发常犯错?有了华为云这款轻量应用服务器不再踩坑

YG科技

大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异

极限实验室

数据库 搜索引擎 elasticsearch 吞吐量 easysearch

老板抱怨网站投入没效果?掌握这份运营秘诀效果直接起飞

轶天下事

7. 电商全球化架构

Joy

让小程序开发稳步快跑,这款轻量应用服务器凭实力说话

轶天下事

快速从入门到精通,华为云耀云服务器L实例让小程序开发更简单

平平无奇爱好科技

企业建站服务器选“懵逼”了?照着华为云的思路买准没错!

平平无奇爱好科技

2. 商品那些模型

Joy

4. 爬虫系统

Joy

爬虫实战

真香定律再现!中小企业数字化逃不过华为云轻量应用服务器

平平无奇爱好科技

向场景而生,移动数字化底座WorkPlus支持场景化定制

BeeWorks

商场如战场!华为云助力企业打赢云服务器之战

平平无奇爱好科技

5. IM系统

Joy

独家丨小程序开发支出明细,快Get华为云低成本高效率开发秘诀!

平平无奇爱好科技

“云”端赛马 “算”出未来丨华为云轻量应用服务器助力企业换道超车

平平无奇爱好科技

1. 商品CPV模型

Joy

3. 跨境卖全球框架

Joy

LED面板显示屏驱动芯片

芯动大师

跨境电商独立站太烧钱?中小企业老板快收藏华为云这份省钱秘笈

轶天下事

拒绝成为“时代的眼泪”,华为云这款服务器赋能企业高效转型

轶天下事

小程序创业是伪命题?华为云耀云服务器L实例铺开初创企业发展新蓝图

平平无奇爱好科技

6. 账号系统

Joy

SIA-GateWay之API网关安装部署指南_文化 & 方法_SIA_InfoQ精选文章