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

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等日志工具

时间: 2024-11-03 22:52:37

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

前向算法的数学意义上的实现

首先是前向算法 前向算法demo文件:fwd_demo.m 1 %% 前向算法的demo 2 %% 验证的例子参见<统计学习方法>p177 3 %% 4 5 % (编码:红1,白2) 6 % 初始概率分布 7 pi=[0.2 0.4 0.4] 8 9 % 概率转移矩阵 10 A=[ 0.5 0.2 0.3; 11 0.3 0.5 0.2; 12 0.2 0.3 0.5] 13 14 % 观察矩阵(发射矩阵) 15 B=[ 0.5 0.5; 16 0.4 0.6; 17 0.7 0.3] 18

MVC5 网站开发之四 业务逻辑层的架构和基本功能

一.业务逻辑层的架构 Ninesky.Core包含两个命名空间Ninesky.Core和 Ninesky.Core.Types. Ninesky.Core包含模型和功能实现,Ninesky.Core.Types是项目用到的一些类型的定义. 1.Ninesky.Core命名空间的结构   NineskyContext-数据上下文 ContextFactory- 获取数据上下文的工厂类  BaseManager-基础类,实现了一些常用数据访问方法,提供其他管理类继承. Category-栏目模型.

上门洗车APP --- Android客户端开发 前言及业务简介

上门洗车APP --- Android客户端开发 前言及业务简介 最近有些小累,私自接了一个项目,利用空余时间在开发,也比较乏力,时间和精力上有时候分配不过来,毕竟公司的事情要忙,只能自己抽时间来完成了,男人嘛,累点好,舒服是留给死人的(套用了一句逼格的话,o_O"~). 项目目前还在开发中,接口的调试以及业务的分析,框架的搭建,客户端这边已进行的差不多了,明天端午节,先祝大家节日快乐,汗~,看了下时间,貌似博客写完发表已经是端午节了,好吧,咕嘟咕嘟...... 大晚上的也是睡不着,写写博客,总

HDS业务定义永续IT架构

永续IT架构的出现并不是以取代原有设备为目的,而是帮助用户循序渐进地向新一代IT架构迁移.在HDS的手中,软件定义存储.对象存储等都成了保障业务永远在线的利器. 技术创新固然可喜,但是最先进的技术不一定能直接带来企业收入的增加,说到底,技术创新要与业务发展相适应.以前,企业中的IT部门与业务部门不能说是对立关系,但至少存在IT采购与应用脱节的问题,这导致了IT部门长期以来难以摆脱作为成本中心的尴尬.HDS公司从今年开始大力倡导"业务定义IT"的理念,其目的很明确,就是让厂商和用户都重新

我眼中BA(业务需求分析师)的技能广度和深度

BA,或者称业务分析师,是企业数字能力和业务能力之间的沟通桥梁.随着企业数字转型的进一步深化,相信对BA这样的技能需求会越来越多,只是未必都用“BA/业务分析师”这样的Title. ThoughtWorks在创建之初,就有BA这样一个职位.Lupi Messenger是我的一个同事,她是ThoughtWorks的第一批BA,到现在为止做了18年,孙女都已经上小学了,我很仰慕.这二十年间变化很大,需求分析方法从最初的敏捷用户故事,演进到现在精益为基础的需求分析方法,BA的技能要求也在不断变化.整理

beforeunload在离开页面前执行业务逻辑

window有个beforeunload事件,是在离开页面前触发的:大家肯定会很快联想到unload这个事件,二者有的区别还是蛮大的,字面上就很好理解,beforeunload在时间线上在unload之前执行,分解点就是页面卸载时间: 经常会有一些在用户离开页面前执行一些业务的应用场景,这都要用到onbeforeunload事件:比如记录用户停留时长的业务,在GA等页面访问统计的应用中都包含这个: 1 ;(function(){ 2 var startTime = Math.ceil(new D

架构设计:前后端分离之Web前端架构设计

在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分离的一种具体实现方案,该方案和我原来设想有了很大的变化,但是核心思想没变,就是控制层是属于Web前端的. 在以前文章里我说道前后端分离的核心在于把mvc的控制层归为前端的一部分,原方案的构想在实际的生产开发里很难做到,我觉得核心还是控制层和视图层的技术异构性,这样后果使得系统改造牵涉面太大,导致在项目团队里,沟通.协调以及管理成本相对较高,

合理的用户业务研发团队搭配

1.前言 用户业务指的就是面向用户的产品展示及用户操作入口,简单点说就是APP,微信,H5活动页等一系列前端展现入口的集合.用户是多变的,用户是神秘的,没有任何产品能从一开始就把握住用户的需求,任何好的产品和功能都是不断试错,不断调整出来的,所以我们需要一个能快速反应的用户业务开发团队,新需求快速上线,已有业务快速调整,响应越快才越有可能在竞争中走到别人前面,产品才有胜出的可能. 用户业务业务研发团队可以称为广义上的前端团队. 2.团队意义 用户业务研发团队(后文如无特殊说明,用前端团队简称),

面向业务的立体化高可用架构设计

面向业务的立体化高可用架构设计 摘要:为了实现阿里九游游戏接入系统的业务高可用,技术人员跳出传统的面向系统的高可用的思路,转而从业务的角度来整体考虑高可用,最终实现了一套立体化的高可用架构,本文逐一展示这套立体化高可用架构的一些具体实践. 通常情况下我们在谈论高可用架构设计的时候,主要关注的是系统结构的高可用,例如主备架构.集群架构.多中心架构.我们做架构设计的时候,也主要是从系统结构本身出发,例如我们把单机改为双机.双机改为集群.单机房改为异地多机房等等. 这种以系统结构为目标的高可用架构设计