web开发发展历程-前端、后端、消息队列、后端架构演进

摘要

在学习web开发时,面对的总是一个一个技术,这让我感觉很割裂,不踏实。因此,我想了解web开发的发展历程,通过不同历史时期技术上、需求上的变化,更好的把握核心。

视频来源

主要内容

在这里插入图片描述
web2.0:ajax。结束了网页只能整存整取的时代,允许网页实现局部刷新。增强了网页的交互性,逼近桌面应用。

移动互联网:2010年,随着智能手机的普及。

万物互联网:在移动互联网的基础上继续发展。元宇宙

不同的时代对应不同的技术

在这里插入图片描述
在这里插入图片描述

前端技术的中间阶段-单页面应用

在这里插入图片描述
数据使用json格式进行传输,就是用一个json对象存储各项数据,客户端和服务端都有专门的用于解析json对象的工具。简单说,就是使用json统一了数据传输的格式

vue:既可以做前后端分离的项目,也可以应用于单页面应用,中庸之道

前后端分离

在这里插入图片描述
在这里插入图片描述
这个构建我倒是挺熟悉的,使用maven提供的构建命令将项目打包,上传到maven仓库,打包好的项目既可以部署,也可以被其他项目作为依赖引用

在这里插入图片描述
移动互联网前端:微信小程序

物联网智能设备:摄像头、智能家居。标准不统一,未来要统一通讯协议,就像互联网一样

网络安全:数字人民币,离线情况下也可以交易

后端技术演化-云计算平台

在这里插入图片描述

.NET: 生态不强,主要用于工业场景,政务、公司内网、流水线、地铁闸机等

总体趋势

在这里插入图片描述

反应式编程

异步非阻塞
比如HTTP服务器,对于这些服务器来说,它肯定服务的不只是一个人,它要服务很多人。如果按照同步的方法,那么服务器一次就要被一个客户端独占了。而在我们通常的使用场景中,一个客户端并不是时时刻刻都在向服务器发送请求,比如我们浏览网页的时候,我们点进去一个页面,get到服务器端返回来的页面以后,我们起码也要在这个页面上浏览好几秒钟才会再次向服务器发送请求跳转到下一个页面吧。如果服务器被一个客户端独占了,自然就没有办法响应其它客户端的请求。那肯定不行。怎么办呢?这时候就采用异步的方法。
所谓的同步和异步就好像是打电话和发邮件的区别。打电话得保证双方都得同时占线,而且双方打电话的时候就不能干其它事情了,如果电话那头话说得又非常慢,你还得耐着性子等着他说完。发邮件则不是,你给对方发邮件,对方空闲下来就会去看看邮箱,没有空的时候他就会忙他的事情。你也是,发完邮件以后你就去干自己的事情,不用像打电话一样必须等着对方说完才会去做自己的事情,这样能极大的提高对时间的利用效率。
这里也是,若HTTP服务器采用异步的方法,服务器就不会被一个客户端独占了。你向服务器发送请求,服务器不会马上响应你,而是会等到它忙忘手中的事情才回来理你。这样的话服务器不会马上响应你的需求,影响大吗?得看你的实际需求,如果你是在浏览网页,可能基本上没什么影响,因为你并不是时时刻刻都会向服务器发起请求,而是隔三岔五的请求一下。而对于服务器来说,这样它就能同时服务很多客户端了,而不会被一个客户端长时间占线。

那我还有一个问题,后端服务器是如何实现异步的????总不能是天生的吧

发展历程

即时响应性,对用户有反应:
对用户有反应我们才说响应,一般我们说的响应,基本上都说得针对跟用户来交互。只要有可能,系统就会及时响应。

回弹性,对失败有反应:
应用失败了系统不能无动于衷,不能等着它挂掉,要有反应,使其具备可恢复性。可恢复性可以通过复制、监控、隔离和委派等方式实现。在可恢复性的系统中,故障被包含在每个组件中,各组件之间相互隔离,从而允许系统的某些部分出故障并且在不连累整个系统的前提下进行恢复。当某个模块出现问题时,需要将这个问题控制在一定范围内,这便需要使用隔绝的技术,避免雪崩等类似问题的发生。或是将出现故障部分的任务委托给其他模块。回弹性主要是系统对错误的容忍。

弹性,对容量和压力变化有反应:
在不同的工作负载下,系统保持响应。系统可以根据输入的工作负载,动态地增加或减少系统使用的资源。这意味着系统在设计上可以通过分片、复制等途径来动态申请系统资源并进行负载均衡,从而去中心化,避免节点瓶颈。如果没有状态的话,就进行水平扩展,如果存在状态,就使用分片技术,将数据分至不同的机器上。

消息驱动,对输入有反应:
响应系统的输入,也可以叫做消息驱动。反应式系统依赖异步消息传递机制,从而在组件之间建立边界,这些边界可以保证组件之间的松耦合、隔离性、位置透明性,还提供了以消息的形式把故障委派出去的手段。

回压:
Backpressure 其实是一种现象,在数据流从上游生产者向下游消费者传输的过程中,上游生产速度大于下游消费速度,导致下游的 Buffer 溢出,这种现象就叫做 Backpressure 出现。这句话的重点不在于”上游生产速度大于下游消费速度”,而在于”Buffer 溢出”。回压和 Buffer 是一对相生共存的概念,只有设置了 Buffer,才有回压出现;只要设置了 Buffer,一定存在出现回压的风险。

比如我们开发一个后端服务,有一个 Socket 不断地接收来自用户的请求来把用户需要的数据返回给用户。我们服务所能承受的同时访问用户数是有上限的,假设最多只能承受 10000 的并发,再多的话服务器就有当掉的风险了。对于超过 10000 的用户,程序会直接丢弃。那么对于这个案例 10000 就是我们设置的 Buffer,当超过 10000 的请求产生时,就造成了回压的产生;而我们程序的丢弃行为,就是对于回压的处理。

对于回压我们一般有两种处理方式,一种就是上面举例中的拒绝或丢弃,这是否定应答的方式,另一种是肯定应答,先收下来,然后再慢慢处理。

反应式编程的实现范式:
反应式编程的规范可以总结为4个接口Publisher,Subscriber,Subscription,Processor

Publisher负责生成数据,并将数据发送给Subscriber。一个Subscriber对应着一个Subscription。Subscriber可以使用Subscription来管理其订阅情况。

首先是Subscriber订阅Publisher。订阅成功以后,Subscriber就会得到一个Subscription对象。Subscription中有两个方法:request方法和cancel方法。

Subscriber得到一个Subscription对象以后,就可以调用该Subscription对象的request方法,请求Publisher发送数据给Subscriber。通过调用cancel方法就可以取消对Publisher的订阅。

Processor则是用来处理Publisher发送给Subscriber的数据。

消息队列发展史

来源
计算机和生活的一个小映射:
肌糖原类似于内存,脂肪类似于磁盘。锻炼首先消耗肌糖原,其次是燃烧脂肪。吃饭首先补充的也是肌糖原,然后多的部分才会累积成脂肪

分区:相当于扩建,比如原来只有面馆1,有多个分区后,就有面馆1,面馆2、面馆i。流量增加之后,就可以通过分区实现水平扩容

在这里插入图片描述
早期的消息队列:聚焦同步调用问题。系统之间层层调用导致时延很高,但是同时又要保证同步。于是考虑是否能将一些同步操作异步化

2010:流量持续增大,数据量持续增大。吞吐量,一致性

2012:线上交易兴起。对于数据一致性要求非常高,远远高于对大流量处理的要求。

2012之后:云计算开始兴起,开始考虑标准化,平台化,避免重复造轮子。同时,这个时期的消息队列,计算节点和存储节点在同一个节点上,不利于容器化,服务容器化要求服务没有状态。如果节点有数据,节点挂了之后需要恢复数据。很困难

kafka,rocketmq,pulsar

在共用一个磁盘条件下,topic越多,kafka效率越低

rocketmq:完全顺序写
在这里插入图片描述
为了利用磁盘顺序写更快的特性,将所有topic写到一个文件中

但代价就是,读,变得更加复杂了。需要在读取的时候,挑出相应的部分。这就意味着,需要记录额外的状态,记录同一个topic的起始位置和结束位置。增加了索引文件

PS:之前做计算机视觉项目的时候,中间结果要存到txt文件中,我当时就考虑过存多个文件还是一个文件,最后我选择存一个文件。首先需要设计好存储的格式,什么时候换行,什么时候加tab等等。然后读取的时候,需要根据存储的格式,编写相应的读取逻辑来解析存储文件。不得不说,确实,存的时候简单了,读取就变得麻烦

pulsar
在这里插入图片描述
计算节点和数据节点分层,服务层全部无状态,无数据,有利于容器化

又引入了zookeeper

主从并发写入

在这里插入图片描述
在这里插入图片描述
磁盘快满了,存储层可以动态新增节点
在这里插入图片描述
如果存储层第4个节点挂了,只需要从其他节点找到第4个节点包含的数据,迁移到新增节点即可。对外无感知,运维更加简单

在这里插入图片描述
假设一艘小船就是一个topic,对于kafka、rocketmq的策略,topic3上就没有数据,整体利用率不够高

网易后端架构演进

来源
小型网站:个人开发
在这里插入图片描述
淘宝最初就是采用这套技术方案,一个月就完成了网站上线

但是流量很快就超过了这套技术方案的负载能力

架构瓶颈

在这里插入图片描述
如何用最经济的方式解决上述问题???用100万设计方案解决未来3年的架构问题,还是0成本解决未来3个月的架构问题

v2:服务与数据分离
在这里插入图片描述
在这里插入图片描述
我还没遇到过需要使用文件服务器的场景
在这里插入图片描述

数据库瓶颈

v2的方案随着流量增加又会遇到新的问题

在这里插入图片描述
数据库优化:分布式缓存,分库分表,硬件优化

v3:使用缓存优化数据库
在这里插入图片描述
空间换时间,加载局部性数据到内存,访问内存比访问磁盘快很多

用户数据,量大,不适合本地缓存,可以放到远程缓存;字典数据可以放本地

常用缓存:redis,memcache
redis也是一种轻量化的消息队列组件,其架构与kafka、rocketmq、pulsar都不一样

服务器瓶颈

v3又支撑了几个月
在这里插入图片描述
高并发,提升网站并发处理能力

并发请求数量很大,超出单台计算机处理能力

v4:应用服务集群
应用服务器集群
在这里插入图片描述
为什么用集群服务器,不用更强的服务器???众人拾柴火焰高,李元霸太少,并且李元霸本身也有上限,他一个人能修长城,能修金字塔吗!!还有个就是成本问题,多个小机器的成本远远低于一个大机器

在这里插入图片描述
nginx工作在应用层,LVS工作在传输层,LVS更快,可以处理更高的并发

数据库缓存瓶颈-缓存击穿、雪崩

在这里插入图片描述

v5:数据库读写分离
在这里插入图片描述
主库负责写,从库负责读,主从数据要一致

DAO层的写法不能变,增加模块专门负责数据库操作的转发

在这里插入图片描述

网络体验瓶颈

在这里插入图片描述
v6:反向代理+CDN加速
在这里插入图片描述
CDN:内容分发网络。不是一台机器,而是一个网络。网络的节点就是设置在各地的CDN服务器,比如在重庆,东北,新疆等。缓存静态资源

反向代理:也是用于缓存静态资源

反向代理部署在核心系统的外围,CDN则是在各地部署

在这里插入图片描述

数据库容量瓶颈

在这里插入图片描述
v7:分布式文件系统,分布式数据库系统,分库分表
在这里插入图片描述
分布式文件系统怎么做??
在这里插入图片描述
HDFS:大数据分布式文件系统。大文件,至少128M

比如有几百T的文件。

数据库存储、搜索瓶颈

在这里插入图片描述
在这里插入图片描述
v8:NoSQL、搜索引擎
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开发效率瓶颈

在这里插入图片描述
v9:业务拆分

在这里插入图片描述

数据库连接数量瓶颈

之前咋应用服务器数量有限的情况下,数据库就难以招架了,现在应用服务器的数量提升了几个数量级,导致数据库可供连接的接口不够了(连接池用完了)

在这里插入图片描述
v10:分布式服务(服务化),微服务

在这里插入图片描述

微服务架构需要配置中心,所有的服务都要在配置中心进行注册,这样在分发请求的时候才找得到对应的服务

在这里插入图片描述
springcloud:完整的微服务解决方案
dubbo:RPC开发框架

在这里插入图片描述
PS:微服务架构不要无脑上,对硬件资源的消耗很大,一定要根据实际情况选择

总结

在这里插入图片描述

spring家族的一些概念

SSM:spring + spring mvc + mybatis

Spring 是一个开源应用框架,提供了IOC(控制反转)和AOP(面向切面编程),使得开发者能够写出松耦合、易于测试的代码。Spring框架的核心功能可以通过几种方式结合起来,例如:通过Spring MVC提供Web应用开发,通过Spring Cloud提供分布式系统的集成服务。

Spring MVC 是基于Servlet的一个MVC框架,用于构建Web应用。它与Spring框架紧密集成,简化了Web应用的开发。

Spring Cloud 是一系列工具,提供了快速构建分布式系统的通用模式,例如配置管理、服务发现、智能路由、微代理、控制总线、全局锁等。它集成了诸如Netflix OSS等框架,并且使用Spring Boot风格进行封装。

Spring Boot 是一个快速开发的工具,它用于创建独立的、生产级的Spring应用。Spring Boot通过一系列的自动配置来简化Spring应用的开发,使用Spring Boot,你可以“just run”你的应用。

分界线
Spring:一个通用的、用于Enterprise Java的开源应用框架。

Spring MVC:一个MVC的实现,用于构建Web应用。

Spring Cloud:一系列工具,用于快速构建分布式系统的通用模式。

Spring Boot:一个用于快速开发、快速运行、快速部署的工具。

在这里插入图片描述

hands_up_down
关注 关注
  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[JAVA]web开发,你必须要了解的web后端发展
solid_panda的博客
02-17 1832
没有网页的日子是什么样的? 早期的web的应用场景不像现在这样广泛,你可以在浏览器上看电影,聊天,浏览新闻,玩游戏办公,看文档,浏览器基本上把非专业领域的活都给干了,现在大有取代c/s的架势,不过取代专业领域的生产和开发工具目前来看依旧没戏,cs且倒不了呢 说到这里我就想提下chrome,一个web浏览器,他的代码竟然还成为笔记本的操作系统,不但卖得不错,还让google已经抛弃掉了平板市场...
Web发展历史
m0_62069822的博客
05-20 1189
文章目录简介1.定义2.结构2.1 标准通用标记语言2.1.1. 简介2.1.2. 标记语言2.1.3. 衍生2.2 HTML2.2.1. 简介2.2.2. 历史2.3 HTML52.3.1. 简介3.表现3.1. 简介3.2. 历史3.3. CSS34.行为4.1. 简介4.2 Javascript4.2.1. 简介4.2.2. 组成4.3 ECMAScript4.3.1. 简介4.3.2. 历史5. DOM5.1. 简介5.2. 组成5.3. 历史5.3.1 DOM05.3.2 DOM0与DHTML5.
Web发展
最新发布
Flask Web
09-06 1161
Web(万维网)的发展史是一段充满创新与变革的旅程,它极大地改变了人们获取信息、交流沟通和进行商业活动的方式。
【闲聊】-后端框架发展
baidu_25347287的博客
03-15 1413
闲聊后端框架的发展史,了解每个阶段的背景,并给出实际的例子
Web 进化
weixin_33958585的博客
02-26 140
来源于:http://xitu.github.io/2016/05/11/history-of-web/ 传统后台架构 上古时代 上古时代 123456789101112131415161718192021222324252627282930313233 <!DOCTYPE html><html><body><?php$s...
后端架构演进
weixin_34176694的博客
08-07 120
后端架构演进 在公司已经走过很多个年头,有幸能够亲手去创造架构组,甚至带领团队去完成部分架构的调整,验证架构的想法。希望能够得到大牛们的一些指引。 1.0 时代 传统的 LNMP 架构,杂乱的应用体系,数不清的坑。单体应用的情况下还可以接受,一旦业务发展速度加快,人员不到位,就可能出现这种情况。 这个结构相当简单,数据库在本机,业务代码也...
后端架构演进
shellhard的博客
12-15 191
当前微服务架构大行其道,很多java工程师也对微服务架构的学习和使用趋之若鹜。但是对于技术人来说,比了解技术更重要的是了解技术产生的背景及核心原理。 现在看起来非常复杂和庞大的架构,一定都是随着业务产品种用户量和数据量增长而不断演进的。架构发展可能都会经历单体架构、垂直和集群、SOA(面向服务架构)、微服务架构等。 单体架构 单体架构的整个系统非常简单,通常来说,如果一个war包或者jar包里面包含一个应用的所有功能,则我们称这种架构为单体架构。 很多传统互联网公司或者创业型公司早期基本都会采用这样的架构
语雀技术架构演进.pptx
03-03
【语雀技术架构演进】是关于一个名为“语雀”的知识管理工具从原型阶段到商业化阶段的技术发展历程的概述。语雀最初是一个内部项目,旨在为阿里员工提供文档编写和知识沉淀的平台。随着其发展,语雀的技术架构经历了...
【稳定性day4】美团外卖高可用的演进之路 - 日活两千万的挑战
作一个独立连续的思考者
02-18 4811
本文来自美团曹振团老师的分享。 技术体系架构演进 简单介绍一下外卖现在的情况:我们从2013年10月份做外卖的事情,是从餐饮外卖开始的。经过两年多的发展,我们不光可以提供餐饮外卖,也可以提供水果、鲜花、蛋糕、下午茶甚至是超市和便利店一些外送的服务。我们做外卖过程中,我们发现用户对外送的体验有两个关注点: 第一个是品质,用户对品质要求非常高,送过来的饭不能凉了,不能不好看,送餐员身上脏...
后端开发技术综述与应用场景讨论
随着互联网技术的不断发展后端开发经历了从传统的服务器渲染页面到RESTful API、微服务架构等多种形式的演变。同时,后端开发框架也在不断演进,为开发人员提供更高效、更稳定的开发环境。 ## 1.3 后端开发的技术...
互联网公司技术架构的淘宝架构资料.zip
05-16
数据库架构演进历程.pdf”。这份文档可能会讲述淘宝从初期到现在的数据库架构变迁。早期,淘宝可能采用的是单机数据库,随着业务发展,面临高并发和海量数据存储的压力,逐渐演进为分布式数据库、主从复制、读写分离...
后端开发进阶:Spring与Django框架
它提供了一个综合的编程和配置模型,覆盖了从传统Java EE应用到微服务架构的全范围应用场景。Spring框架的灵活性和可扩展性使其成为众多企业的首选。 ## 1.2 Spring框架的核心功能 Spring框架的核心功能包括依赖...
架构演进后端开发进入微服务时代!
极客重生
10-28 190
最近,朋友被他们公司的系统搞得头大,跟我吐槽说真的不想再用单体应用的架构开发了。他们每次功能发布和上线都得有一个上线负责人来收集上线列表,并协调所有相关的开发人员合并代码到主干,然后进行编...
web历史
weixin_44769592的博客
05-27 160
w3c 标准 xhtml ECMAscript url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。 互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 http 协议https://www.cnblogs.com/ranyonsue/p/5984001.html 个性化 大数据 谷歌 交互 ...
架构二】后端高可用架构演进
qq_35789269的博客
03-06 568
单机架构 以淘宝作为例子,在网站最初时,应用数量与用户数都较少,可以把Tomcat和数据库部署在同一台服务器上。 浏览器往www.taobao.com发起请求时,首先经过DNS服务器(域名系统)把域名转换为实际IP地址10.102.4.1,浏览器转而访问该IP对应的Tomcat。如下图所示: 新的技术挑战:随着用户数的增长,Tomcat和数据库之间竞争资源,单机性能不足以支撑业务,架构演进势在必行。 第一次演进:Tomcat与数据库分开部署 第一次演进没有什么特别的,将 Tomcat 和数据库
后端技术演进
weixin_30748995的博客
03-07 123
后端技术演进 转载于:https://www.cnblogs.com/gotodsp/p/6512742.html
1 Web技术演化
Mrjlong的博客
10-16 474
1 Web技术演化 1.1 简单网站 1.1.1 静态页面 Web技术在最初阶段,网站的主要内容是静态的,大多站点托管在ISP上,由文字和图片组成,制作和表现形式也是以表格为主。 1.1.2. 多媒体阶段 随着技术的不断发展,音频、视频、Flash等多媒体技术诞生了。多媒体的加入使得网页变得更加生动形象,网页上的交互也给用户带来了更好的体验。 1.1.3. CGI阶段 渐渐的,多媒体已经不能满足人们的请求,于是CGI (Common Gateway Interface) 应运而生。CGI定义了Web服务器与
浅谈web网站架构演变过程
huangshulang1234的博客
01-15 679
浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理    阶段一、单机构建网站 网站的初期,我们经常会在单机上
Web后端思维导图 - 初学者必备知识整理
这份资源整理涉及了web后端开发的基础知识点,包含了从服务器基础到数据库管理,再到后端编程语言的使用和API开发等内容。 ### 服务器基础 服务器是运行服务器软件以处理客户端请求的计算机。在web后端开发中,...
写文章

热门文章

  • 关于注意力机制的学习 3602
  • MySQL(一) 3473
  • 关于resnet(残差网络)(一) 3122
  • 每天一个算法(简单) 2940
  • 关于YOLO2的学习 2817

分类专栏

  • 算法 2篇
  • JAVA编程语言 17篇
  • 蓝桥杯
  • 深度学习 1篇

最新评论

  • 我的创作纪念日

    码密码密轰: 已打赏,期待后面更多的精彩博文输出~~~

  • 关于yolo2论文的学习

    TYSON_0401: 你好,请问怎么理解置信度标签? 文中说置信度标签使用预测框与标定框的IOU, 那么置信度标签是在训练模型后再打的?那这样损失函数加在一起还有意义吗?

最新文章

  • 动态规划专题第一章-第三章(坐标型、序列型、划分型)
  • Maven(一)maven设置,坐标,pom,java工程,web工程,目录结构,构建,依赖,继承,聚合
  • JAVAWEB(五)过滤器,事务管理
2024年1篇
2023年2篇
2022年22篇
2021年27篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司外贸型网站优化方案网站seo优化流程莱芜网站关键词优化哪家好题库类网站如何优化360影视网站tdk优化廊坊网站百度霸屏优化怎么样进行网站优化优化天津专业seo网站优化平台乐昌网站搜索引擎优化装修网站优化排名汉口网站seo优化技巧博山网站优化哪家好网站搜索优化排名报价邛崃平台网站优化宿迁网站优化怎样做鄢陵智能网站优化推荐seo优化网站排名靠前的缘由网站怎么优化数据存储惠州优化网站青岛智能网站优化卫辉网站排名优化公司哪里有工厂网站的排名优化安阳网站优化哪家做的久网站建设seo优化培训优化网站百度推广整站搜索排名孝昌县网站做优化要多少钱企业网站优化开发对自己的网站进行SEO优化象山优化网站金华seo网站优化与推广香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化