• api-gateway实践(02)新服务网关


    一、服务网关的运行环境

    1、服务配置中心

    1.1、服务配置中心前台

    前台 http://10.110.17.20/#/login:无源码,德奎部署在10.110.17.20的DockerStatck环境。

    访问 http://10.110.17.20/#/login   admin/123456a? 

    目前在dockerstack的前台中,随dockerstack一起启动!

    1.2、服务配置中心后台

    api-gateway-controller: springboot应用,配置中心前台用来保存服务定义到mysql数据库和发布服务定义到redis缓存。

    1. 保存和提取配置中心的数据,
    2. 使用mysql存储配置数据
    3. 使用redis缓存配置数据,供网关引擎使用。
    运行Spring Boot应用ApiGatewayControllerApplication

    2、服务网关引擎

    服务网关引擎 api-gateway-engine:zuul工程,从redis读取服务定义,处理业务请求。

    开源的zuul工程api-gateway-engine,采用gradle管理项目依赖,

    • 读取redis中缓存的配置中心数据(api定义),不直接和配置中心打交道,而是通过redis解耦合。
    • 拦截服务请求,进行权限检查
    • 拦截服务请求,进行请求转发

    gradle build

    gradle jettyRun

    使用 redis:10.110.17.20 : 6379

     

    3、服务提供者应用

    服务提供者:提供服务实现业务,任何一个提供http服务的web应用,都可以作为一个服务提供者应用,将其url注册到配置中心。

    4、服务调用者应用

    服务消费者:使用网关提供的服务,遵循网关服务调用的申请流程,

    4.1、申请身份+授权

    4.2、携带身份+授权,获取accessToken

    4.3、携带access_token,访问服务网关业务

    二、服务网关运行环境的启停

    准备工作:

        先要关掉centos7的防火墙!!!!

        systemctl status firewalld

        systemctl stop firewalld

    1、启动配置中心

    1.1、启动配置中心的 mysql 数据库

         启动:systemctl start mariadb

         查看:systemctl status mariadb

         开机启动:systemctl enable mariadb (已设置)

    1.2、启动配置中心的 redis 缓存

         启动:systemctl start redis

         查看:system status redis

         开机启动:systemctl enable redis(已设置)

    1.3、启动配置中心的服务层(api-gateway-controller)

          这是个springBoot应用,api-gateway-controller.jar包在root下

          启动:

              cd /root

              nohup java -jar api-gateway-controller.jar &

    1.4、启动配置中心的界面层 - dockerstatck(德奎)

    2、启动网关引擎(api-gateway-engine.war)

          这是个jetty应用,发布在docker中。

          启动:systemctl start dockerstack

          查看:systemctl status dockerstack

          开机启动: systemctl enable dockerstack

    3、启动服务提供者

         cd /opt/tomcat8.5.15/bin

         ./startup.sh 

         生成mobile的access_token, http://10.110.17.20:7070/spring-oauth-server/m/user_info?access_token=x验证服务提供者可用!!!!!!

    4、启动服务消费者

        此处使用postman/浏览器代替 

  • 相关阅读:
    教你用笔记本破解无线路由器password
    EJB究竟是什么,真的那么神奇吗??
    Hibernate的介绍
    编程基本功训练:流程图画法及练习
    一年成为Emacs高手(像神一样使用编辑器)
    MfC 进度条控件
    最小生成树(普利姆算法、克鲁斯卡尔算法)
    创建与删除索引
    hdu 4876 ZCC loves cards(暴力)
    springMVC3学习(二)--ModelAndView对象
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7095954.html
Copyright © 2020-2023  润新知