多个微信小程序一个服务端架构

       因为某些特定的业务场景,当多个小程序须要一个服务端后台提供数据时,你们可能想到是HTTP路由。是的,实际上咱们使用微服务的GateWay网关也是同样的,以下图微服务架构:html

microserviceArchitecture


    网关GateWay的做用在于提供统一的入口来访问内部的API, 隔离外部访问与内部系统。集成了非业务性的功能(如安全检查、频次限制、API监控、日志上报等),API生命期管理、请求的转发、合成、协议转换、服务发现等多种功能。更多能够参考apigateway数据库

API网关的优势:小程序

  1. 给服务加一层安全保护
    可在这一层作SQL注入、CRSF攻击防范等WAF层面的安全保护;
  2. 对外提供统一的通讯协议,如HTTP或restful api, 屏蔽内部的通讯协议
    系统内部可采用自身熟悉的通讯协议,如Protobuf 或RPC等;
  3. 下降代码耦合度、下降开发成本
    将非业务性功能如访问控制(黑白名单)、频次限制等集中在网关层处理,开发只需关注本身本业务的需求实现便可,下降了开发成本;
  4. 可灵活灰度及新功能测试
    经过细粒度的流量识别,进而反向代理,业务可灵活灰度及AB测试;
  5. 服务发现
    随着后端server变更甚至云化,对服务发现提出了新挑战,经过在API网关实现服务发现能够简化客户端的实现。
  6. 减小客户端与后台server的交互
    随着微服务化API更加细粒度,这势必会加大客户端对后台server的访问次数,如作一些返回数据合并,让客户端经过一次请求在API网关处合并须要的数据一次性返回等,但这一块业务性太强,像业界的方案不多有作一块的,大部分实现是在API网关后端加了一个BBF(backend for frontend)来作数据的整合;
  7. 对API进行管理;

业界经常使用的API网关方案对比


1505461900148_1253_1505461900561

演化为:后端

183930uy040g5vlfsliffq

腾讯云提供的Wafer解决方案

a54f5f48-b74b-11e6-972f-6dce2cd8c31a

Tips:现实中单体小程序架构不需求这么复杂架构, 具体问题须要量体裁衣。api

------------------------------------------------------------------
安全

今天先到这儿,但愿对您在系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考做用 , 您可能感兴趣的文章:
微服务架构设计
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与我的目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变 微信

若有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注个人微信订阅号:restful

MegadotnetMicroMsg_thumb1_thumb1_thu[2]



做者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
该文章也同时发布在个人独立博客中-Petter Liu Blog网络

相关文章
相关标签/搜索