详解互联网APP架构1.0

详解互联网APP架构2.0

经过几个月业务的沉淀,明确出几个具体的业务方向,原本的架构已经不适合现在的项目。

下面从几个方向介绍我们的切换思路:

1、原本架构存在几个问题

  • 网关层:随着业务的发展,由原本的APP到后面的微信公众号、小程序,网关层由于各渠道鉴权、分发、限流等不同,网关层逐渐复杂,经过各种渠道判断等,网关层效率变低;
  • 服务层:基础业务层由于业务增多,营销、运营、用户等业务全部编写在里面,基础业务层开始臃肿,代码各种交错,代码维护性差;由于服务未完全拆分,容易出现服务冗余,比如:获取用户信息会出现多段代码;
  • 配置文件:各工程配置文件相互独立,且测试环境与生产环境变更需要频繁维护,配置文件修改后需要重启,且各个研发人员本地都存一份,配置文件维护成本较高,且问题率也较高;

2、架构设计

重新设计后架构如下:

业务架构如下:

主要优化的几个方向:

  • 网关层: 新增小程序、公众号网关,各网关间实现解耦,各网关实现各自鉴权、分发、限流体系,减少网关层逻辑判断,提升网关层效率;
  • 聚合平台层:新增聚合平台层,聚合平台层只关注业务,不做任何数据操作,各平台间互相解耦,最大程度提升代码利用率;
  • 业务中台层:新增业务中台层,业务中台层不关注业务,只提供基础数据操作,提供业务接口供各平台使用,例如:获取商品信息,各个平台只需从产品服务中调用,业务中台层各接口实现公用化;
  • 配置中心: 新增配置中心,配置中心选型携程Apollo,支持可视化配置,且配置后可实现动态加载,配置中心利用率高,问题率低;

经过上面架构的整改,实现整个业务中台的理念,当然底层各个细节实现都需要考量、设计,在架构之外,服务熔断、服务追踪、日志分析、容器化等都可以考虑引入,增强系统的高可用。

详解互联网APP架构2.0相关推荐

  1. 详解互联网APP架构1.0

    详解互联网APP架构1.0 详解互联网APP架构2.0 由于最近负责一个互联网APP项目,需要重新设计架构,这边架构已经设计完成,跟小伙伴们分享下设计思想: 首先我们分析大概的需求,可归结为以下几点: ...

  2. php图片涂鸦,IOS_详解iOS App中图片的线段涂鸦功能的添加方法,接下来我们要讲图片的涂鸦, - phpStudy...

    详解iOS App中图片的线段涂鸦功能的添加方法 接下来我们要讲图片的涂鸦,我们分开一点一点拓展,先给图片上划线 创建项目 起名testAddLine 接下来我们在默认生成的ViewControlle ...

  3. Android开发详解之App升级程序一点通

    Android开发详解之App升级程序一点通 结束语 UpdateManager.java import java.io.File; import java.io.FileOutputStream; ...

  4. MTK6573智能机平台系统文件夹文件详解3 - App目录

    MTK6573智能机平台系统文件夹文件详解3 - App目录 欢迎转载收藏,转载请保留如下信息: Mr.ROM出品 Email:iammrrom@gmail.com Blog:http://blog. ...

  5. 现在详解Android App AllowBackup配置带来的风险

    现在位置:  首页 >  文章 >  移动安全 > 正文 详解Android App AllowBackup配置带来的风险 2015 /3/11 1:27 10,105 评论 3 条 ...

  6. 两分钟窃取身边女神微博帐号?详解Android App AllowBackup配置带来的风险

    两分钟窃取身边女神微博帐号?详解Android App AllowBackup配置带来的风险 笔者在使用自己编写的Drozer模块对国内流行的安卓手机应用进行自动化扫描后发现有大量涉及用户财产和隐私的 ...

  7. java并发编程详解,Java架构师成长路线

    美团一面: 中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的. 了解SOA,微服务吗? 分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上? 一.轮询.二.随机.三.最小 ...

  8. 消息中间件系列(九):详解RocketMQ的架构设计、关键特性、与应用场景

    内容大纲: RocketMQ的简介与演进 RocketMQ的架构设计 RocketMQ的关键特性 RocketMQ的应用场景 RocketMQ的简介 RocketMQ一个纯java.分布式.队列模型的 ...

  9. kafka 同步提交 异步_详解Kafka设计架构核心——Kafka副本机制详解

    所谓的副本机制(Replication),也可以称之为备份机制,通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝.副本机制有什么好处呢? 1. 提供数据冗余.即使系统部分组件失效,系统依然 ...

最新文章

  1. hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
  2. GDCM:gdcm::PDBHeader的测试程序
  3. 推荐系统:MovivLens20M数据集解析
  4. oracle 存储过程设置回滚点,(转)oracle 存储过程事宜使用断点回滚 -savepoint
  5. VMware中的三种网络模式-----Host-only模式
  6. pytest测试框架(七)---pytest与jenkins集成(pytest+jenkins+allure)
  7. S1:动态方法调用:call apply
  8. Oracle 隐含参数的查询
  9. [转载] opencv-python:13_图像噪声(噪声的概念、椒盐噪声、高斯噪声、使用python给图像添加噪声)
  10. vue移动端上拉加载,下拉刷新(mescroll)
  11. tplink 无线打印服务器,tplink打印服务器设置
  12. open drain和push pull
  13. linux批量对文件改名,在Linux中对文件进行批量重命名文件的方法
  14. 国仁老猫:抖音影视剪辑5种赚钱方法、18个素材网站、8.0剪辑方法防判搬运(建议收藏)
  15. 光伏箱变保护测控装置
  16. matlab 期权分析,matlab程序优化 (期权计算为例)
  17. 没得选这件事是人生常态
  18. 7-29 删除字符串中的子串
  19. Lichee_RV学习系列--CoreMark-Pro移植
  20. 如何从公网访问局域网WEB服务器

热门文章

  1. x264代码学习笔记(二):x264_encoder_encode函数
  2. 这几个CNAD领域对实验人员的要求,赶紧收藏
  3. wince 访问共享文件_WINCE6.0建立共享文件夹
  4. 使用Matplotlib绘制南丁格尔玫瑰图
  5. QT5.15.2+QWT6.2.0 配置 综述
  6. 树莓派raspberry搭建打印cups服务器连接EPSON_L360打印机供ios安卓使用
  7. 【读书2】【2014】基于MATLAB的雷达信号处理基础(第二版)——测量多普勒频移:空间多普勒(2)
  8. redis基础教程 --发布与订阅
  9. python3爬虫——千库网
  10. SAS学习1(总体介绍以及一些程序例子)