前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务网关 Service Gateway

服务网关 Service Gateway

作者头像
dys
发布2018-04-03 16:52:15
9860
发布2018-04-03 16:52:15
举报
文章被收录于专栏:性能与架构性能与架构

微服务架构把网站从一个单体结构拆分为多个独立服务的集合

单体结构,各个模块都在一起

微服务结构,各服务模块独立部署

带来了很多好处,例如,提高了系统稳定性、使资源利用最大化、提高了开发部署效率等等(更详细介绍请看“微服务架构”) 同时也产生了一个问题,例如客户端要展示商品信息页面,页面中需要有:商品详情、用户评论、相关商品推荐、购物车信息 在单体结构中,这个需求的实现很简单,客户端发起一个商品详情的请求,如 http://api.xxx.com/product/id

网站收到请求后进行查询计算等操作,把需要的信息组合成一个结果集,返回给客户端

而在微服务架构中,这个需求中的数据是分布在不同的微服务中,例如: 商品详情 - 商品信息服务 用户评论 - 评论服务 商品推荐 - 推荐服务 购物车信息 - 购物车服务 这就需要客户端调用不同的服务来获取数据

这种方式中,客户端需要了解很多api,服务端如果产生微服务的再次拆分或合并,客户端都需要跟着变动,维护复杂,而且每个页面都可能需要发起多次请求,性能不好 对于这些问题,就可以采用“服务网关”的方式来解决 服务网关也是个服务器,作为网站的入口,客户端不再自己调用N个服务获取数据,还是像单体结构一样,客户端发送一个请求给服务网关,服务网关负责调用多个微服务聚合结果,返回给客户端

优点 (1)外部系统从服务网关上看到的就像是一个统一的完整服务,网关屏蔽了后台服务的复杂性,同时也屏蔽了后台服务的升级和变化 (2)外部请求必须经过服务网关,网关可以集中对访问进行安全控制,如认证授权、防爬虫等 (3)在流量高峰期,服务网关可以限制流量,在内部系统出现故障时,网关可以集中做容错,保持外部良好的用户体验 (4)便于收集访问日志 缺点 服务网关本身形成了一个系统,需要开发、部署、维护管理,成本较高,而且,服务网关可能会成为系统瓶颈 但服务网关方式的优势明显,已被普遍采用

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档