come from: [假如从餐饮店的角度来看架构…]https://www.javazhiyin.com/42641.html

数据源单独存储

前后端分离

常用的技术框架搭配可以是vue,react...结合 ssh,ssm,springboot系列进行搭配。

负载均衡

  • 轮询访问:按照Tomcat1-->Tomcat2-->Tomcat3的顺序轮流访问,通知不同的厨师来做菜。

  • 随机访问:每次有客人下单,Nginx都通过抽签的形式来进行随机指明厨师做菜。

  • 最少链接法:谁的需求单最少,就指令相应的厨师做菜。

  • 响应最快法:哪位厨师的做菜效率高,就选择哪位厨师。

  • 哈希法:下单的顾客如果是小孩,就交给Tomcat1,如果是年轻人,就交给Tomcat2,如果是中年人或者老人,就交给Tomcat3。

这就是前后端分离+负载均衡

当随着客户请求的次数增加,通常我们会采用这种模式的架构进行搭建项目,将前端页面放置在nginx服务器上边进行加载,然后通过在nginx里面进行upstream的配置定制相应的负载均衡策略,在后端业务模块通过使用Tomcat来进行横向扩展,提高性能的承载能力。

MySQL的主从架构

随着系统应用访问量逐渐增大,单台数据库读写访问压力也随之增大,当读写访问达到一定瓶颈时, 将数据库的读写效率骤然下降,甚至不可用。为了解决此类问题,通常会采用mysql集群,当主库宕机后,集群会自动将一个从库升级为主库,继续对外提供服务。Master主机将数据操作记录在指定的日志文件里面,然后Slave主机之间通过IO线程来读取日志内容,同步操作到本机上去。一旦出现了故障,通过配置的keepalived信息可以自动实现主从的切换。

分库分表

基于MyCat中间件的分库分表方案

使用MyCAT这种中间件最主要的核心功能点就是分库分表,将一个大表水平划分为了N个小表。MyCAT的原理可以用“拦截”一词来形容,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析,如分片分析,路由分析,读写分离分析,缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当处理,最终返回给用户。

微服务架构

微服务架构”一词大概也是近些年来才出现,它将整体的业务模块拆分成了多个小而独立的子模块,然后每个子模块之间都会进行基于不同协议的相应通信。互联网公司里面经常会有微服务技术的身影,比较著名的微服务框架有Dubbo,SpringCloud

消息中间件

消息中间件传输数据

MQ消息队列主要是在各个微服务模块之间进行相应的数据中转,能够起到系统解耦,削峰等作用,因此这种技术成为了微服务架构中非常受欢迎的技术中间件。常见的MQ消息队列中间件有RabbitMQ,ActiveMQ,RocketMQ,Kafka。

缓存设计

分布式Redis缓存分片架构

上图中的redis图标描述的redis cluster方案架构,通过对数据进行哈希计算之后放在不同的槽点,然后每个槽点都设置主从模式增强其容错性,采用分片模式的缓存架构可以增加系统的缓存数据量。

看架构 from:假如从餐饮店的角度来看架构…相关推荐

  1. 假如从餐饮店的角度来看架构…

    麦当劳作为世界快餐业的巨头之一,可以说是风靡全球圈粉无数.小编个人也是麦当劳的忠实粉丝之一.今天的文章主要就是从餐饮店的角度来讲讲的互联网技术架构发展故事.为了方便故事的讲解,我们假定创始人名称为王小 ...

  2. 看下资深架构师平时需要解决的问题,对比你离资深架构师还有多少距离——再论技术架构的升级之路...

    我目前奋力在技术架构的路上不断前行,虽然中间遇到很多障碍,目前自己感觉,勉强能达到架构师的级别,所以自己感觉还有底气写这篇文章. 之前,我写过篇博文,架构师更多的是和人打交道,说说我见到和听说到的架构 ...

  3. 三大亮点抢先看,顶象CTO解析业务安全平台架构设计

    业务安全无小事. 上一期顶象<业务安全大讲堂>从业务安全的行业背景.黑灰产产业链.典型场景的攻防分析以及业务安全风险防控的思路讲起,带大家认识了业务安全是什么. 本期顶象<业务安全大 ...

  4. 作为首席架构师,我是如何选择并落地架构方案的?

    如何针对当前需求,选择合适的应用架构,如何面向未来,保证架构平滑过渡,这个是软件开发者,特别是架构师,都需要深入思考的问题. 本文首发于InfoQ垂直号「聊聊架构」,ID:archtime 无架构,不 ...

  5. 架构师必备技能指南:SaaS(软件即服务)架构设计

    1.介绍 从计算机诞生开始,就伴随着计算机应用程序的演变.简短的回顾历史,我们可以清楚的看到应用程序发生的巨大变化.上世纪70年代中期,随着个人PC机的爆炸式增长以及程序员的崛起,让计算机的计算能力得 ...

  6. 1年内4次架构调整,谈Nice的服务端架构变迁之路--转

    原文地址:http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=410775314&idx=1&sn=7c7cc94f8f4 ...

  7. 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

    本次分享的技术大纲如下: 传统应用开发面临的挑战 服务化实践 服务化不是银弹 服务化架构的演进方向 一 .传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高 在实际 ...

  8. 基于docker微服务架构_使用基于微服务的流架构更好地进行大规模的复杂事件处理(第1部分)...

    基于docker微服务架构 基于微服务的流架构与开源规则引擎相结合,使实时业务规则变得容易 这篇文章旨在详细介绍我将OSS业务规则引擎与Kafka风格的现代流消息传递系统集成在一起的项目. 该项目的目 ...

  9. java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

    原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...

最新文章

  1. C#杂记系列之日期函数
  2. C#如何根据DataTable生成泛型List或者动态类型list
  3. 新款笔记本写代码贼爽,包邮送一台!
  4. 杭电1171(01背包求解)
  5. python3官方最新下载-Python
  6. 恶意软件盯上了加密货币,两家以色列公司受到攻击
  7. 我教育和科研计算机网是指,我校成为中国教育和科研计算机网湘潭城市节点单位...
  8. 根目录下各文件夹的作用
  9. java编写正则表达式_如何用Java编写最快的表达式评估器之一
  10. php 数据类型伪类型,PHP之伪类型与变量
  11. Ubuntu开发环境配置--- 安装chrome浏览器
  12. 掌握 Ajax,第 11 部分: 服务器端的 JSON
  13. Python+pandas设置DataFrame显示样式
  14. ASP.net控件开发系列之(一、二)
  15. 配送中心数据迁移项目(SDC to PDC Data Migartion)
  16. 【深度学习】全面理解VGG16模型
  17. python 求最大值_Python 获取最大值函数
  18. 软考倒计时19天:招投标法、合同法、采购法
  19. 成功解决 AttributeError: ‘TySpider‘ object has no attribute ‘make_requests_from_url‘
  20. VB→C++→C#→VB.NET,语言的共性和个性

热门文章

  1. 网络浏览器 Microsoft Edge 32/64 位 v79.0.309.7 绿色便携版
  2. 前端埋点的缺点_大数据前端埋点
  3. 《NFL橄榄球》:亚特兰大猎鹰·橄榄1号位
  4. Django 图书管理
  5. html比赛项目,趣味运动会比赛项目
  6. poll和死锁_Java从入门到入土day20 死锁 多线程通讯 线程池
  7. 内核热补丁 kpatch-build 编译脚本对 CROSS_COMPILE 的妙用
  8. 就连外行人都能看懂的SpringCloud!还说你不会?
  9. 超详细:数据库性能优化(一)
  10. 新媒体管家Plus停服,新媒体民工如何接锅完成自救?