博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
业务基础环境搭建及api网关
阅读量:4185 次
发布时间:2019-05-26

本文共 1268 字,大约阅读时间需要 4 分钟。

API网关

在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时,可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以对外暴露聚合API, 屏蔽内部微服务的微小变动,保持整个系统的稳定性。

  • api网关有点类似于设计模式中的facade(外观)模式。
  • api网关一般都是微服务系统中的门面。
  • api网关是微服务中的重要组成部门。

API网关的作用

  • 身份验证和安全:是否登录,当前环境是否安全。
  • 审查和监测:有点类似于拦截器。请求和数据返回都需要经过网关。
  • 动态路由:比如直接路由到第三方API接口
  • 压力测试
  • 负载均衡:dubbo中有实现。
  • 静态相应处理
  • 服务聚合:将业务中多个服务的调用,通过api网关暴露一个接口。

api网关模块构建

项目基于guns开源系统搭建,直接拷贝一个test模块为guns-gateway模块。

在这里插入图片描述

api网关模块集成dubbo

1、加入依赖包:

com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
com.101tec
zkclient
0.10

2、dubbo相关配置

spring:  application:    name: meeting-gateway  dubbo:    server: true    registry: zookeeper://localhost:2181

3、启动类添加注解@EnableDubboConfiguration

@SpringBootApplication(scanBasePackages = {"com.stylefeng.guns"})@EnableDubboConfigurationpublic class GunsRestApplication {    public static void main(String[] args) {        SpringApplication.run(GunsRestApplication.class, args);    }}

4、集成成功本地启动zookeeper,启动项目测试能否成功。

抽离业务功能

在开发过程中,服务间调用都会有一个相同的接口,此时如果每个服务间都重复的去写一个类接口,会造成代码的重复,建议公共业务的代码通过新建一个子模块来实现维护。

转载地址:http://sbfoi.baihongyu.com/

你可能感兴趣的文章
Mysql中下划线问题
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
vue项目打包后无法运行报错空白页面
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>