一、服务网关的运行环境

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/浏览器代替

api-gateway实践(02)新服务网关 - 运行环境的更多相关文章

  1. api-gateway实践(04)新服务网关 - 新手入门

    一.网关引擎环境 1.下载代码 2.搭建环境 3.打包部署 二.配置中心环境 1.下载代码 2.搭建环境 3.打包部署 三.创建业务实例 1.以租户身份登录配置中心,注册 group.version. ...

  2. api-gateway实践(08)新服务网关 - 云端发布和日志查看

    一.发布应用 1.新建应用空间 1.1.新建应用空间 1.2.新建应用 1.3.上传程序包 2.创建应用引擎服务 3.发布应用 3.1.为应用容器绑定Web运行环境(应用引擎服务) 3.2.发布应用( ...

  3. Spring Cloud开发实践 - 02 - Eureka服务和接口定义

    服务注册 EurekaServer Eureka服务模块只有三个文件, 分别是pom.xml, application.yml 和 EurekaServerApplication.java, 内容如下 ...

  4. api-gateway实践(10)新服务网关 - OpenID Connect

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  5. api-gateway实践(06)新服务网关 - 请求监控

    一.实时监控 用户点击服务实例,系统显示服务实例-version下的api列表, 用户点击某个api的如下两个图标 1.API请求次数监控 横轴:时间,粒度为分钟 纵轴:请求访问次数 展示:失败数(红 ...

  6. api-gateway实践(03)新服务网关 - 网关请求拦截检查

    参考链接:http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一.为什么要拦截检查请求? 防止重放攻击.篡改重放,进行使用规格检查 ...

  7. api-gateway实践(13)新服务网关 - 断路保护/熔断机制

    参考链接:SpringCloud的Hystrix(五) Hystrix机制 新需求列表 1.在线测试 根据定义,生成输入界面, 点击测试, 验证参数,发起调用,返回执行结果 2.熔断保护 两个实现类: ...

  8. api-gateway实践(07)新服务网关 - 手动发布

    应用地址:http://10.110.20.191:8080/api-gateway-engine/ 一.准备工作 1.xshell登陆云主机 1.1.配置链接 1.2.链接成功 1.3.关闭防火墙 ...

  9. [转载] 构建微服务:使用API Gateway

    原文: http://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=206889381&idx=1&sn=478ccb35294c ...

随机推荐

  1. 使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  2. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  3. MSIL实用指南-局部变量的声明、保存和加载

    这一篇讲解方法内的局部变量是怎么声明.怎样保存.怎样加载的. 声明局部变量声明用ILGenerator的DeclareLocal方法,参数是局部变量的数据类型,得到一个局部变量对应的创建类LocalB ...

  4. C# 发送手机短信

    由于使用 收费 第三方 屏蔽   可能有 免费 第三方. private const string Cdkey = "8S*********************";密钥id p ...

  5. Spring源码学习:第2步--使用SLF4j+Log4j日志框架替换掉其自身的commons-logging日志框架

    正如Spring官方文档所述,其底层的实现选择了commons-logging作为日志框架.这一"失足"性的选择,竟连Spring自身都抱怨.但是,谁叫Spring如此优秀呢,即使 ...

  6. python爬微信公众号前10篇历史文章(2)-拼接URL&发送http请求

    如何拼接想要的url http://weixin.sogou.com/weixin?type=1&page=1&ie=utf8&query=%E5%A4%A7%E7%BA%BD ...

  7. 笔记:Spring Cloud Zuul 快速入门

    Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了 ...

  8. 用bat文件启动mongodb

    bat文件是dos下的批处理文件.批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cm ...

  9. ELK学习笔记(五)简单搜索和DSL查询

    检索文档 现在我们有一些数据存储在Elasticsearch中,我们可以开始处理这个应用程序的业务需求. 这在Elasticsearch中很容易.我们只需执行HTTP GET请求并指定文档的地址--索 ...

  10. 云计算 --> 技术原理

    云计算技术原理 云计算分为IaaS.PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,下图是一个供商榷的云计算体系结构如下,它概括了不同解决方案的主要特征 ...