『互联网架构』软件架构-分布式之大型网站的演变过程

news/2024/5/20 15:31:10/文章来源:https://itbuild.blog.csdn.net/article/details/114265588

项目都是从单一的应用,到分布式应用,到流式的基栈,这样的思想。

单体应用

app应用,db数据库,server服务都在同一台机器上

集群应用

随着业务量的增大,一台服务器,需要进行拆分到3台服务器。
server服务和app在一台机器上。2台应用的,一台数据库的。

在真正的开发过程中,由一个应用变成多个了会发生什么样的问题?

1.session集群问题
2.数据一致性问题
3.数据瓶颈(一旦流量上来了,虽然应用做了集群,但是数据库没有做集群,还是一个主库),这时候要考虑主从数据库。

N多个模板一直操作同一个数据库,数据库需要负载如何负载,将业务进行拆分,不同的业务访问自己的数据库。降低主库的压力。
互联网的特性就是读多写少。

如果双11了,交易额大的话,其实交易的读写库压力就很大。采用的方案是:分库分表:垂直分库,水平分表。模块的专库专用,就是一种垂直的分库。分表是根据关键的字段orderId,userId将信息存储到指定的表中。

水平分表的策略(hash,range,list)

  1. range 和 list 要进行预估扩容很麻烦
  2. hash 热点数据进行分散,分布均衡,扩容也比较麻烦。

前端

  1. 用户如果使用userId比较多
  2. 数据一致性要求比较高
  3. 查询我的订单(userId查)
  4. userId,时间查询条件

后端

  1. 内部数据要求不太高
  2. 业务复杂
  3. 有通过非userId来进行查询,当天所有的下单总数,下单的人数。
  4. 消息中间件 和 es cluster(canal异构)整理成后端需要的。
  5. 不查询数据库,通过es来进行查询
  6. es 获取数据库的同步分:延时,实时,维度,增量,全量。其实就是读binlog的日志。
  7. 大的变小的,不断的拆分, 不断的合并
  8. 最后可能到后台就是一个漏洞的锥子形状,越往后面越少,前面能过滤的都过滤掉了。

涉及到技术点

java,分库分表,redis缓存,搜索引擎,RPC远程调用,所有大型分布式都涉及到并发编程这一点。

PS:技术的选型,一定了解业务,才能知道他的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_779119.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国人开发了一个有趣的网站,可以算出你被机器人抢饭碗的概率

近年来,随着人工智能成为继智能硬件的下一个风口之后,关于机器人取代人类的声音一直此起彼伏。如“到了2030年,机器人将会取代人类70%的工作”此类论调,皆可见诸报端。身为人类的我们,每次看到这些新闻,总不…

EntLib.com 电子商务系统 v2.5 – 前台购物网站/网店发布-- 源码包

请尊重 EntLib.com 的辛苦奉献及版权!1、未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目的或实现盈利的网站)。购买商业授权请登陆http://www.entlib.com/ 了解最新说明。2、未经官方许…

使用WireShark嗅探网站登陆密码

本文仅供技术讨论,不能用于非法用途。 Step 1:安装wireshark,并开启网卡混杂模式,抓包。不懂的同学问度娘,就不在本文讨论了。 Step 2:背景 东哥报销系统的账户和密码是自动登陆,时间长了密码不记得了&…

Linux搭建web网站综合实验

综合实验: 请给openlab搭建web网站 网站需求:1、基于域名www.openlab.com可以访问网站内容为welcome to openlab!! —— /openlab 2、给该公司创建三个网站目录分别显示学生信息,教学资料,缴费网站,基于 www.openlab.c…

html5手机排名,手机网站排名怎么做?移动端手机站SEO排名的13个要点

手机网站最重要的就是不同机型的完美适配,现在大大小小尺寸的手机那么多,如果你的网站可以做到不管任何尺寸的手机都很好适配的话,那想做手机网站的排名工作已经赢在第一步了!1:百度官方意见:使用合理的div和css架构&a…

1万并发服务器配置_怎么根据网站访问量并发量来推算配置服务器?

导语新手站长躲不过的一个问题就是给自己的站配置什么样的服务器?我们怎么样才能花最少的成本租用高最合适的服务器?今天,我们的话题主要就是浅谈这个站长们绕不开的问题,怎么根据网站访问量、并发量来推算租用何种配置服务器?比如,你的网…

linux+wdcp+目录,Linux+WDCP建站流程

以下内容仅适用于我司linux系统(包括CentOS/Ubuntu)云主机1.您可以通过SSH客户端(如putty)登录云主机,初始账号密码详见产品管理平台;请注意独立IP云主机SSH端口51022,非22。2.新购买或自助重装系统后,mysql默认密码保存在/root/i…

我花费洪荒之力从各个搜索网站收集了几百本常用的电子书

为了方便广大的小伙伴也能方便找到对应领域的电子书,我花费洪荒之力从各个搜索网站收集了几百本常用的电子书。希望这些书籍对你有帮助! 欢迎关注公众号【程序猿编码】,添加本人微信号(17865354792),回复领取学习资料,网盘资料有如下&#…

宜立方 电商网站 -- 问题集合

1 |基于大数据技术的电子商务平台(老师指导下完成)2 开发时间:2017/12 – 至今3 软件架构:Spring SpringMVC Mybatis EasyUI Solr Redis Maven4 项目描述:5 该项目采用SSM框架,采用Redis缓存&am…

允许网站使用相机和麦克风_你还在随意允许手机应用权限?那你的手机危险了...

嗨,大家好,我是猴叔~我们都知道在使用我们的手机的时候,大家都会下载一些手机软件APP。但是当我们下载完软件的时候就会注意到,这些软件都会需要进行【应用权限】的设置,大家是不是都会选择全部允许授权呢?…

此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。

如果遇到这个问题是由于返回Json时没有在后面加JsonRequestBehavior.AllowGet 下面是正确的写法: 如果不写则默认为JsonRequestBehavior.DenyGet AllowGet: 允许来自客户端的 HTTP GET 请求。 DenyGet: 不允许来自客户端的 HTTP GET 请求…

高并发的php网站需要注意什么,网站关于高并发时候的应该采取一些优化方案

前段时间第一次接触大流量并发,而那时候我还没有相关经验,所以代码写的很渣,导致服务器死了又死现在也算有点经验了,本文章主要说明下我现在能理解的一些优化方案一:架构方面1:前台采用nginx服务器的静态页面,不用php的模板引擎以及php输出(静态页面不用经过php,可以减少一些消…

网站html规则,HTML5:新一代的网页规范终于完成

HTML5这个下一代网页和智能手机应用的基石已经完成据美国有线电视新闻网消息,经过长时间的研发升级,新一代的网页标准HTML5终于开发完成,万维网联盟(Worldwide Web Consortium,简称W3C)在周一宣布。HTML 5在正式成为官方标准以前还…

win7上使用phpstudy轻松部署wordpress本地网站的教程

前言,在这之前我已经手动部署过LNMP架构的网站(LAMP是 linux Nginx MySQL PHP的简写),还有使用宝塔一键搭建LNMP/LAMP架构的网站。硬件工具:PC机 软件工具:Win7,phpstudy,wordpress …

Arachni安装及网站扫描

0X00 Arachni介绍 Arachni是一个多功能、模块化、高性能的Ruby框架,旨在帮助渗透测试人员和管理员评估Web应用程序的安全性。同时Arachni开源免费,可安装在Windows、Linux以及Mac系统上,并且可导出评估报告。 0X01下载Arachni 下载合适的A…

关闭图片 pycharm_使用python和re正则爬取电影网站的图片和标题

本代码作用:使用python和re正则爬取电影网站https://www.88ys.cc的图片和标题操作步骤如下:1、在浏览器打开https://www.88ys.cc,按F12-F5,依次解析出图片标签在img标签里,如下图所示:2、在pycharm里编写源代码&#x…

网站更换服务器要注意什么,网站想要更换独立服务器,需要注意哪些方面?

提要:网站更换独立服务器,通常是因为当前服务器的性能已经无法满足网站现有需求,包括空间大小、流量、稳定性等。想要更换一个新的独立服务器,网站需要做好充分准备,在事前计划好每个步骤。更选择一款优质的独立服务器…

学习Python:做数据科学还是网站开发?

本文的英文原文地址是:Python for Data Science vs Python for Web Development 译者:EarlGreycodingpy 译者一开始在Python日报上看到推荐,初步看看了,觉得对于决定学习Python的方向有一定参考价值。不过,在翻译过程中…

使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

摘要: 主要讲解初期的开发环境搭建,Maven的简单教学。转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生)。 访问GitHub下载最新源码:https://github.com/gaussic/SpringMVCDemo 文章已针对IDEA 2016做…

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

摘要: 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生)。 注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一…