1、前言
前向业务中间层,指的是在后端服务接口之上加了一层,来归纳和整合所有服务,为APP和H5提供接口服务,做到后端业务与前端的隔离。大约示意图如下


2、作用
     1) APP和H5在沟通需求拟定接口协议时,只需要和一个团队打交道,沟通起来方便。
     2)所有业务的出入口,是对业务的整理和集合,查看网关层所有的接口开发历史,就可以知道业务的发展轨迹
     3)统一日志服务,所有APP和H5的请求都是通过网关层接收并转发给具体业务的,在网关层记录日志,可以真实的模拟请求的发起和处理流程。
     4)统一流量监控,智能升降级,作为流量统一入口,可以知道流量的具体来源和去向,当流量到达系统极限时可以提前报警,并主动拒绝非核心业务的请求,保证系统不被流量冲垮
     5)统一安全验证,系统不直接暴露,减少了主业务被***的机会,作为请求入口可以在请求开始的时候就做一些安全性的检查,阻止无效非法请求进入业务流程,浪费资源
     6)前后端皆可以做的小的配置性需求可以由该接口完成,举个例子,你要把你的某一功能做一个开关,这个功能可能是产品突发奇想的点子,后端不愿做,就在网关层做吧,避免前后端在这个地方扯皮,扯皮太多太消耗心力,扯皮太多程序员就倦怠了。这一点很重要,身为管理者最重要的就是管理倦怠。
     7)后端业务接口适配,将后端流转的数据结构更改优化,方便前端读取。

3、架构

4、技术要求
1) 开发语言: java/php/node/lua 都可以,不做强制要求,但建议使用php,lua等不用重启服务器的语言,方便出现问题及时处理,即时生效
2) 有高并发处理经验,因为作为所有服务的请求入口,流量会很大
3) 有CDN相关的经验,很多静态的东西需要推导CDN上
4)有redis 或者 memcache开发经验,如果没有这些缓存所有的请求直接打到服务器上,服务器扛不住,很快就挂了
5)多服务器文件同步开发经验,熟练使用log4j等日志工具

转载于:https://blog.51cto.com/rong1/1882375

前向业务中间层的意义,架构,技能要求相关推荐

  1. Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源

    深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的.「读写 ...

  2. 系统架构技能之设计模式-抽象工厂模式

    一.上篇回顾 上篇我们主要讲述了简单工厂模式和工厂模式.并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下: 简单工厂模式:一个工厂负责所有类型对象的创建,不支持无缝的新增新的类型对象的创建 ...

  3. HDS业务定义永续IT架构

    永续IT架构的出现并不是以取代原有设备为目的,而是帮助用户循序渐进地向新一代IT架构迁移.在HDS的手中,软件定义存储.对象存储等都成了保障业务永远在线的利器. 技术创新固然可喜,但是最先进的技术不一 ...

  4. 商城文档、商城原型、全局说明、o2o商城、汽车商城、业务逻辑、商城架构图、流程图、版本规划、需求说明、活动、预约、会员、prd、交互说明、页面说明、显示规则、字段说明、操作规则、数据来源、需求规划

    商城文档.商城原型.全局说明.o2o商城.汽车商城.业务逻辑.商城架构图.流程图.版本规划.需求说明.活动.预约.会员.prd.交互说明.页面说明.显示规则.字段说明.操作规则.数据来源.需求规划 A ...

  5. 腾讯云海量社交网络业务下的DevOps架构应用实践

    在DevOps的理念中,企业的IT价值链流转的速度越快,意味着企业的互联网产品的交付能力越强,这也意味着在同行业的竞争中,企业凭借IT能力的优势,能够收获更大的竞争优势.也因此,DevOps框架的落地 ...

  6. Win32的入口函数WinMain前面的WINAPI有什么意义?

    #Win32的入口函数WinMain前面的WINAPI有什么意义? 它是_stdcall 的一个宏.而_stdcall是一种调用约定,用于调用win32 API函数,哪它又作了什么约定呢? 1.参数传 ...

  7. 某大型保险集团在线财险业务系统数据库存储架构由集中式向分布式转型实践

     [摘要]随着某机构业务自传统B2B类型向互联网的转变,访问量的激增.用户量持续爆炸式增长.数据量爆炸式增长,业务场景具备高吞吐量.高并发量等等新需求,这些都要求后台数据库具备支持高TPS.高QPS( ...

  8. 第三章 业务建模,业务建模的意义和步骤

    @TOC 1. 业务建模的意义和步骤 1.1 意义: 业务建模要求我们把视角从软件系统转向客户组织,站在客户角度看问题,以达到清晰准确地"诊断",对症"开方". ...

  9. 龙芯2K1000LA处理器流片成功,龙芯业务全面转向LoongArch架构

    2022年4月底,龙芯2K1000处理器完成了改版芯片(代号龙芯2K1000LA)的功能和性能测试,正在开展用户试用.龙芯2K1000LA在实现与原有版本2K1000引脚和接口兼容的基础上,处理器核更 ...

最新文章

  1. cpu,内存,虚拟内存,硬盘,缓存之间是什么关系??
  2. js怎么获取一个元素与屏幕右边的距离_js获取元素到屏幕左上角的距离
  3. service层加需要加锁吗_Redis分布式锁,你真的用对了吗?
  4. C#系列五《程序的分支》
  5. ssas脚本组织程序_微服务架构:从事务脚本到领域模型
  6. 定了!华为P30/P30 Pro正式官宣:3月26日见
  7. MySQL密码忘记,怎么办?
  8. Entity Framework - 利用T4 分离 Entity 和 DbContext
  9. android手机慢,Android手机运行慢?!教你一秒“提速”50%
  10. Loadrunner11 下载、安装与破解
  11. 在复杂度o(n)的要求下找到n个数的中位数(n为奇数)_啊这,一道找中位数的算法题把东哥整不会了…...
  12. atitit.提升开发效率---动态语言总结
  13. 数据分析学习总结笔记09:文本分析
  14. 社区论坛小程序源码,功能齐全,简洁漂亮,前端+后端
  15. 通过pcm音频数据计算分贝
  16. 淘宝用户行为数据挖掘-python
  17. 视频教程-react电影院在线选座功能-ReactJS
  18. 你在加密市场能走多远 取决于你的思维认知
  19. MySQL 去重方法之一
  20. 电源系列1:LDO 基本 原理(一)

热门文章

  1. python画图角度_Python画图
  2. python3 线程隔离_Python并发编程之线程中的信息隔离(五)
  3. 我的世界linux服务器怎么加种子,我的世界怎么获得服务器种子?服务器种子获得方法介绍...
  4. 【星球知识卡片】图像生成都有哪些核心技术,如何对其进行长期深入学习
  5. 中国饲用微生态制剂行业十四五研发方向与专项应用调研报告2022年
  6. 全球及中国原料药产业投资动态及未来运行前景分析报告2021-2027年
  7. 全球与中国Z型斗式提升机市场运营战略分析及未来趋势创新建议报告2022-2027年版
  8. 养猪砸下50亿美金-丰收节贸易会:俄罗斯最大农业巨头青岛
  9. 洛谷P4301 [CQOI2013]新Nim游戏
  10. Pandas CookBook -- 02DataFrame基础操作