目录

单体应用

集群服务

内外网集群

微服务演进


一个系统的架构是一个不断演进的过程,而不是一步到位过度设计。架构图分享地址:http://huatu.qianglihuifu.com/lct/#R3d07b99d3c31d68890eae3c7486e4c23

单体应用

单体应用阶段:web服务端功能和mobile移动端API接口都在同一个项目中进行部署,在App端使用频繁时段,会造成后端web管理界面打不开的情况,造成程序处于假死状态。

采用优化手段:JVM调优,Tomcat调优,数据库连接池优化,Nginx限流;但这些方法不能从根本上解决web端高峰时段正常使用。

集群服务

有了单体服务的糟糕体验之后,我们将原有代码进行了拆分作为两个独立的服务使用负载均衡模式来提升用户体验。

采用集群模式部署,就需要引入分布式解决方案,比如我们的本地缓存换成了Redis,另外还需要解决web后台的SESSION共享和移动端登录的Token存储管理,这些都可以通过Redis缓存服务得到解决。

Redis的四种常用模式:

1.单机

如果你的数据量很少,主要是承载高并发高性能的场景,比如你的缓存一般就几个G,单机足够了

2.主从

master节点挂了以后,redis就不能对外提供写服务了,因为剩下的slave不能成为master,下面增加哨兵目的就是提高redis高可用

3.主从+哨兵

replication,一个mater,多个slave,要几个slave跟你的要求的读吞吐量有关系,然后自己搭建一个sentinal集群,去保证redis主从架构的高可用性,就可以了

4.cluster集群

redis cluster,主要是针对海量数据+高并发+高可用的场景,海量数据,如果你的数据量很大,那么建议就用redis cluster

  • 自动将数据进行分片,每个master上放一部分数据
  • 提供内置的高可用支持,部分master不可用时,还是可以继续工作的

注意:需要考虑解决Nginx和Redis单点故障问题。Nginx高可用可以使用多个Nginx冗余部署keepAlived故障转移等,Redis常用的方式是Sentinel哨兵模式。

内外网集群

内外网部署模式扩展了内网管理人员的热点数据共享,以方便内外即时查看巡护平台作业数据情况和人员在线情况。

注意:Redis和Mysql数据库是做了端口映射的,可以认为这部分数据内网是可以访问的。

微服务演进

使用Spring Cloud Alibaba微服务体系为主:

  • 网关:Spring Cloud Gateway
  • 熔断、限流、降级:Sentinel
  • 服务配置、注册与发现:Nacos
  • 自动伸缩:K8s服务管理
  • 数据库:主从-读写分离
  • 缓存服务:Redis哨兵模式

啄木鸟巡护系统架构演进过程相关推荐

  1. 去哪儿网支付系统架构演进(上)

    去哪儿支付系统自2011年搭建以来,在五年的时间里逐渐从一个高耦合的单一系统发展为众多子系统组成的高并发.高可用.支持多种交易支付业务的分布式系统.业务从最初的非代收到现在多种非代收.代收场景的支持, ...

  2. 大型网站系统与Java中间件实践 第二章大型网站及其架构演进过程

    2.1什么是大型网站 通过第 1 章我们了解了分布式系统的相关基础知识, 大型网站是一种很常见的分布式系统,而本书重点要介绍的中间件系统也是在大型网站的架构变化中出现并发展的,那么我们很有必要从大型网 ...

  3. 调度框架学习笔记(3)—— 集群调度框架的架构演进过程

    本章是 The evolution of cluster scheduler architectures 文章的学习笔记.这篇文章讨论了这些年调度架构是如何发展的以及为什么会这样发展. 首先介绍一下这 ...

  4. 亿级流量系统架构演进之路

    海量用户同时进行高频访问对任何平台都是难题,也是行业乐此不疲的研究方向.但值得庆幸的是,虽然业务场景不同,设计和优化的思想却是万变不离宗.本文将结合业务与高并发系统设计的核心技术点,对系统架构调优方案 ...

  5. 美团配送系统架构演进实践

    写在前面 美团配送自成立以来,业务经历了多次跨越式的发展.业务的飞速增长,对系统的整体架构和基础设施提出了越来越高的要求,同时也不断驱动着技术团队深刻理解业务.准确定位领域模型.高效支撑系统扩展.如何 ...

  6. 架构系列一:大型项目架构演进过程

    架构系列一:大型项目架构演进过程 作为一名程序员,单单只会Coding是远远不够的,想要走的更高更完,还必需懂Coding之外的其他东西,如架构设计,系统分析等,今天就架构这块,谈谈自己的理解 一.单 ...

  7. 腾讯海外计费系统架构演进

    作者简介:abllen,2008年加入腾讯,一直专注于腾讯计费平台建设,主导参与了腾讯充值中心.计费开放平台.统一计费米大师等项目,见证了米大师从0到1,业务营收从PC到移动多终端再到全球化的跨越过程 ...

  8. 京东到家搜索系统架构演进

    目录 一. 前言 二. 搜索系统架构演进 2.1 到家搜索系统1.0 基于LBS搜索召回场景 建立"可用"的搜索系统 小结 2.2 到家搜索系统2.0 重构召回 排序模型小试牛刀 ...

  9. 去哪儿网支付系统架构演进

    作者简介:吕博,去哪儿网金融事业部研发工程师,毕业于吉林大学,2012年加入去哪儿网. 致力于支付平台研发和支付环节的基础服务建设. 正文 去哪儿支付系统自 2011 年搭建以来,在五年的时间里逐渐从 ...

最新文章

  1. hbase shell 查看列名_Hbase的简单命令使用
  2. 关于c++预编译符的使用
  3. java 故障排查_目前最全的 Java 服务问题排查套路
  4. HTML标签和CSS个人总结
  5. 高可用HAProxy——yum安装部署配置使用
  6. 7-4 统计Java程序中关键词的出现次数 (25 分)
  7. 牛客练习赛39 B 选点(dfs序+LIS)
  8. 【PMP】pmp练习题及解析
  9. 规则引擎 clara-rules
  10. 量子计算进阶:量子计算机的组建和量子计算原理(包含相关论文推荐60篇)
  11. 7-1 愿天下有情人都是失散多年的兄妹 (25 分)
  12. 陶哲轩实分析 习题5.5.2
  13. P3369普通平衡树
  14. 设计模式实例php,PHP三种设计模式实例教程
  15. C#中随机分组相关Test
  16. 结构化数据和半结构化数据和非结构化数据
  17. 走近澳洲------个人所得税篇
  18. 01 Android Studio学习第一天
  19. Java基础案例 | 第二弹(持续更新...xdm冲啊)
  20. 英特尔(中国)架构师夏磊先生一行到访云创

热门文章

  1. 【Transformer】医学分割领域的应用与扩展(论文阅读)(二) || DETR
  2. 捞月狗app下载|捞月狗app安卓版
  3. python中read() readline()以及readlines()区别
  4. flutter图片实现圆形的四种方法
  5. 印度成功做成全球第三大手机系统,这值得中国学习
  6. 包工头一般怎样接工程?如何找工程包工平台?
  7. matlab sglay平滑,基于MATLABGUI的谱线平滑处理.PDF
  8. tensorflow学习笔记(4)------北京大学 曹健
  9. 潜龙号开启水下机器人_蛟龙、海龙、潜龙傻傻分不清?全面解密国内最先进水下机器人...
  10. 网络操作系统期末复习资料