最新要闻
- 当前信息:索泰RTX 4090月白深度测试:真孤独求败!A卡没得玩了
- 网友晒视频广州一特斯拉在停车场连撞多车 司机下车就跑:又踩错了吗
- 当前看点!设计时速100公里!上海苏州互通地铁今起试跑:苏州坐地铁直达
- 医院拍CT有位患者叫熊猫 结果竟是真熊猫:网友祝福“国宝”尽快好起来
- 丰田拆完一辆特斯拉Model Y后被震撼了 高管惊叹:我们远远落后
- 全球新动态:火爆全网的AI小姐姐模型重新上线 作者:画什么图后果自负
- 【全球热闻】大厂年薪30万95后女生转行卖快餐:直言脱离公司KPI太快乐了
- 当前观察:《暗黑破坏神4》玩家打怪时 不会出现天量伤害数值
- 世界今热点:通用电梯:目前产能在满足履行轨道交通项目合同需求的同时,不会影响公司履行其他客户订单或新接订单的生产需求
- 环球报道:电脑病毒的介绍与防护_电脑病毒与防护介绍
- 每日简讯:取代马斯克:新CEO接班人浮出水面
- 健身网红大容量运动杯:富光1.6L顿顿桶29元发车
- 每日热门:马力超百匹!春风NK800双缸街车发布:46890元起
- 热资讯!连续三年发现大油田 渤海又出亿吨级油田:1万辆车能跑30年
- 粽子米泡几个小时最佳?粽子米怎么调料?
- 职内是什么意思?职内的职能是什么?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前快看:1000亿数据、30W级qps如何架构?来一个天花板案例
说在前面
在尼恩的(50+)读者社群中,经常遇到一个 非常、非常高频的一个架构面试题,类似如下:
- 千万级数据,如何做系统架构?
- 亿级数据,如何做做系统架构?
- 千万级流量,如何做系统架构?
- 亿级流量,如何做做系统架构?
- 高并发系统,如何架构?
最近,有个小伙伴阿里三面,又遇到了这个问题。这类问题,非常复杂,稍微回答不好,面试就挂掉。
尼恩一直想梳理一个教科书式的答案。
(资料图片)
这里,尼恩结合B站的行业案例《B站千亿级点赞系统服务架构设计》,从 面试维度,对这个方案进行二次重构和梳理,然后把梳理的结果,作为以上面试题的参考答案,并收入咱们的《尼恩Java面试宝典 PDF》 V54版本,供后面的小伙伴参考,大家一定好好看看这个教科书级别的答案。
原始方案的作者,是芦文超,是哔哩哔哩资深开发工程师。原始的文章请参见b站的公众号, pdf版收藏在尼恩的3高行业案例集合中,也可以找尼恩获取。
下面的内容,并不是原文,而是尼恩是结合自己的3高架构笔记,以及尼恩的3高架构知识体系(3高架构宇宙)做的二次创作。
注:本文以 PDF 持续更新,最新尼恩 架构笔记、面试题 的PDF文件,请从这里获取:码云
点赞场景的业务分析
做系统架构,首先要需求分析。
点赞的业务,已经足够的简单,极致的简要
需求1:视频的点赞数
需求2:UP主维度的总获赞数
需求3:个人的点赞记录
需求N:细分的需求比较多....
大家自行脑补,当然,也可以来尼恩的技术自由社群(50+)里边交流。
数据规模、流量规模分析
做系统架构,其次,要确定 数据规模、流量规模, 为啥呢?
不同的体量,架构的方式、方法、方案,都完全不一样。
按照尼恩的3高架构笔记中的分析套路,接下来,对这个案例的数据规模、流量规模进行 梳理和分析。
数据规模:千亿级别
流量规模:
读流量:30W QPS, 全站点赞状态查询、点赞数查询等【读流量】超过300k,
写流量:1.5W QPS,点赞、点踩等【写流量】超过15K
大流量、大数据场景下点赞中台化诉求
点赞功能,在中台化之前,是分散的。各大业务模块,都有点赞功能的存在,如以下模块:
稿件、视频、动态、专栏、评论、弹幕、等等
以 “稿件” 为例,点赞服务需要提供
- 对某个稿件点赞(取消点赞)、点踩(取消点踩)
- 查询是否对 单个 或者 一批稿件 点过赞(踩) - 即点赞状态查询
- 查询某个稿件的点赞数
- 查询某个用户的点赞列表
- 查询某个稿件的点赞人列表
- 查询用户收到的总点赞数
大流量、大数据场景下,需要进行中台化、平台化
- 进行业务聚合,提供多种实体维度数据查询、数据分析的能力
- 点赞作为一个与社区实体共存的服务,需要提供很强的容灾能力
- 提供业务快速接入的能力(配置级别)
- 数据存储上(缓存、DB),具备数据隔离存储的能力(多租户)
中台化 之后的架构图如下
从此,各大业务模块,业务子系统,再也不用担心点赞的 海量数据问题, 巨量的流量问题, 点赞服务的不可用的问题。
这些问题,都交给中台解决了。各大业务模块,业务子系统,直接使用接口就行。
B站点赞中台的整体架构
B站架构师给出的架构图
下面是哔哩哔哩资深开发工程师 芦文超, 给出的系统架构图
整个点赞服务的中台可以分为五个部分
- 流量路由层(决定流量应该去往哪个机房)
- 业务网关层(统一鉴权、反黑灰产等统一流量筛选)
- 点赞服务(thumbup-service),提供统一的RPC接口
- 点赞异步任务(thumbup-job)
- 数据层(db、kv、redis)
上的B站小伙伴的分层方案,从架构的维度不是太好理解,接下来按照尼恩的3高架构笔记中的分析套路,给大家做进一步的梳理。
分层架构的二次梳理
按照尼恩的3高架构笔记中的分析套路,接下来,对这个案例的分层架构:
接下来,按照尼恩的3高架构理论,一 层一 层来,进行庖丁解牛。
对这个B站千亿级点赞系统服务架构设计,使之成为大家的超级学习案例。
B站点赞中台的接入层架构
架构和语言无关,b站使用go语言开发, 尼恩的他的小伙伴们, 更喜欢使用 Java。下面从Java架构的角度进行分析。
回顾一下尼恩的3高架构笔记
客户端的请求进来会先到SLB(负载均衡),然后到内部的网关,通过网关再分发到具体的业务服务。
业务服务会依赖Redis、Mysql、 MQ、Nacos等中间件。
B站点赞中心做异地多活,在不同地区有不同的机房,他们的架构中,有两个机房。
所以,他们的接入层的效果如下图所示:
流量路由层
用户的请求,从客户端发出,这个用户的请求该到哪个机房,这是 流量路由层 决定的。
首先,用户需要尽量路由到同一个 机房。
为什么呢?虽然服务之间的数据,是没有依赖的,但是服务内部依赖的存储是有状态的。不同的机房之间,虽然有数据同步,但是,毕竟会有延迟。如果用户修改了数据之后,再一查,查不到,感觉非常困惑。
如何 路由到同一个 机房?
首先,使用普通dns是不行的,普通的dns,域名会随机解析到不同的机房中。
一个综合方案:智能DNS + DLB流量网关
第一个维度是智能DNS,这个具体这里不做展开,请参见 尼恩的3高架构笔记。
但是智能DNS也不是万能的,需要接入层进行流量矫正。
所以针对同一个用户,尽可能在一个机房内完成业务闭环。
流量路由层 为了解决流量调度的问题,可以基于OpenResty二次开发出了DLB流量网关,DLB会对接多活控制中心,能够知道当前访问的用户是属于哪个机房,如果用户不属于当前机房,DLB会直接将请求路由到该用户所属机房内的DLB。
如果每次都随机到固定的机房,再通过DLB去校正,必然会存在跨机房请求,耗时加长。
所以在这块也是结合客户端做了一些优化,在DLB校正请求后,可以将用户对应的机房IP直接通过Header响应给客户端。
这样下次请求的时候,客户端就可以直接通过这个IP访问。
如果用户当前访问的机房挂了,客户端需要降级成之前的域名访问方式,通过DNS解析到存活的机房。
接入层的业务网关
架构和语言无关。
b站使用go语言开发, 尼恩的他的小伙伴们, 更喜欢使用 Java。
下面从 Java的角度进行架构分析。
业务网关包括的功能:统一鉴权、反黑灰产等统一流量筛选
接入层功能之一:统一鉴权
这一层,从架构的维度来说,可以在SpringCloud gateway 中, 使用 过滤器进行 统一鉴权
具体请参见尼恩 的10Wqps推送中台架构与实操,里边有详细的介绍
接入层功能2:流量筛选
黑灰产,又称非法产业、非法企业或非法经济
所谓网络黑灰产,指的是电信诈骗、钓鱼网站、木马病毒、黑客勒索等利用网络开展违法犯罪活动的行为。稍有不同的是,“黑产”指的是直接触犯国家法律的网络犯罪,“灰产”则是游走在法律边缘,往往为“黑产”提供辅助的争议行为。
流量筛选这一层,从架构的维度来说, 可以在SpringCloud gateway 中, 使用 过滤器进行 风险ip、风险用户id的 动态探测,拦截。
动态探测可以使用成熟的动态探讨框架,如jd的hotkey, 也可以使用滑动窗口算法,实现类似的动态探测组件。
具体请参见尼恩 的100Wqps三级缓存架构与实操,里边有详细的介绍
B站点赞中台的服务层架构
架构和语言无关。
b站使用go语言开发, 尼恩的他的小伙伴们, 更喜欢使用 Java。下面从Java架构的角度进行分析B站点赞中台的服务层架构。
点赞的业务比较简单,性能也可以很高。但是,之后的入库的操作,性能低。
所以,采用消息队列进行异步消峰解耦。
实际上,这里整体用的是异步+批量的架构,异步是一种即为重要的架构模式,关于20种异步的方式,请参见尼恩的深度文章,20种异步,你知道几种? 含协程
B站点赞中台的服务层架构,细分为两层:
点赞服务层
异步任务层
点赞服务层(thumbup-service)
点赞服务层接收到用户的点赞请求,完成点赞的业务计算:
- 点赞数
- 点赞状态
- 点赞列表
- 等等
具体的功能,参考下图
异步任务层(thumbup-job)
异步任务主要作为点赞数据写入、刷新缓存、为下游其他服务发送点赞、点赞数消息等功能
- 点赞数据写入:含用户行为数据(点赞、点踩、取消等)的写入
- 缓存刷新:点赞状态缓存、点赞列表缓存、点赞计数缓存
- 同步点赞消息
- 点赞事件异步消息、点赞计数异步消息
首先是最重要的用户行为数据(点赞、点踩、取消等)的写入。
搭配对数据库的限流组件以及消费速度监控,保证数据的写入不超过数据库的负荷的同时,也不会出现数据堆积造成的C数据端查询延迟问题。
超高流量压力的异步批量处理
超高的全局流量压力:
超高并发读:全站点赞状态查询、点赞数查询等【读流量】超过300k,
超高并发写:点赞、点踩等【写流量】超过15K
采用的策略是: 异步写入+批量写入
异步写入
同时数据库的写入我们也做了全面的异步化处理,保证了数据库能以合理的速率处理写入请求。
批量写入(聚合写入)
针对写流量,为了保证数据写入性能,B站在写入【点赞数】数据的时候,在内存中做了部分聚合写入,比如聚合10s内的点赞数,一次性写入。
如此可大量减少数据库的IO次数。
尼恩提示:异步写入+批量写入,是尼恩3高架构系统中,一种非常核心的模式,Netty源码,Hotkey源码,都在大量使用,具体请参见尼恩3高架构笔记。
B站点赞中台的数据层架构
架构和语言无关,b站使用go语言开发, 尼恩的他的小伙伴们, 更喜欢使用 Java。下面从Java架构的角度进行数据层架构分析。
二级缓存架构
二级缓存:分布式Cache 缓存架构
缓存层Cache:点赞作为一个高流量的服务,缓存的设立肯定是必不可少的。
点赞系统主要使用的是CacheAside模式。
有关 CacheAside模式, 具体请参见尼恩的 100Wqps 三级缓存组件架构和实操。
这一层缓存主要基于Redis缓存:以点赞数和用户点赞列表为例,进行介绍
实体的点赞数的缓存设计
用业务ID和该业务下的实体ID作为缓存的Key,并将点赞数与点踩数拼接起来存储以及更新
key-value = count:patten:{business_id}:{message_id} - {likes},{disLikes}
business_id 代表 业务id
message_id 代表 实体 id
用户的点赞列表缓存设计
一个用户,在一个业务下的 所有点赞 的列表
key = user:likes:patten:{mid}:{business_id} value = zset , member(messageID)-score(likeTimestamp)
key为 mid 与业务ID , mid 代表用户 , business_id 代表业务id
value则是一个ZSet,member为被点赞的实体ID,score为点赞的时间。
当改业务下某用户有新的点赞操作的时候,被点赞的实体则会通过 zadd的方式,把最新的点赞记录加入到该ZSet里面来
为了维持用户点赞列表的长度(不至于无限扩张),需要在每一次加入新的点赞记录的时候,按照固定长度裁剪用户的点赞记录缓存。
该设计也就代表用户的点赞记录在缓存中是有限制长度的,超过该长度的数据请求需要回源DB查询
一级本地存储架构
LocalCache - 本地缓存
本地缓存的建立,目的是为了应对缓存热点问题。 本地缓存主要解决缓存击穿的问题。
在Java应用中,本地缓存建议选用命中率最高的caffeine组件, 其内存淘汰算法 wtiny-lfu,集合了 lrf与lfu的精华,非常牛掰。
具体,请参考尼恩的100Wqps三级缓存组件的介绍,里边对caffeine的架构和源码和算法,做了穿透式的解读。
热点探测:
热门事件、稿件等带来的系统热点问题,包括DB热点、缓存热点
当一个稿件成为超级热门的时候,大量的流量就会涌入到存储的单个分片上,造成读写热点问题。
此时需要有热点探测机制来识别该热点,并将数据缓存至本地,并设置合理的TTL。
例如,UP主 【杰威尔音乐】发布第一个稿件的时候就是一次典型热点事件。
所以,本地缓存一般要结合热点探讨框架使用,
有关热点探讨框架,请参考尼恩的100Wqps三级缓存组件的介绍。
二级DB架构
在尼恩的架构体系中, 一般是 结构化DB+NOSql结合的二级架构模式:
- 结构化DB , 为业务计算提供数据支撑, 如mysql、tidb 等等
- NOSql DB, 提供历史数据支撑,全量数据支撑, 大数据计算支撑, 如hbase,mongdb 等
后面尼恩会为大家介绍左手云原生,右手大数据,就是基于上面的架构系统。
B站的二级DB架构,也是这种经典的二级架构。
结构化数据存储
基本数据模型:
- 点赞记录表:记录用户在什么时间对什么实体进行了什么类型的操作(是赞还是踩,是取消点赞还是取消点踩)等
- 点赞计数表:记录被点赞实体的累计点赞(踩)数量
①、第一层存储:DB层 - (TiDB)
点赞系统中最为重要的就是点赞记录表(likes)和点赞计数表(counts),负责整体数据的持久化保存,以及提供缓存失效时的回源查询能力。
表1:点赞记录表 - likes :
字段:
用户Mid、被点赞的实体ID(messageID)、点赞来源、时间 等等,
索引:
联合索引(Mid、messageID ) ,用于满足业务请求。
表2:点赞数表 - counts :
字段:
业务ID(BusinessID) 、实体ID(messageID) 、实体的点赞数、点踩数等。
索引:
以业务ID(BusinessID)+实体ID(messageID)为主键,
并且按照messageID维度建立满足业务查询的索引。
结构化DB的分库分表方案
由于DB采用的是分布式数据库TiDB,所以对业务上无需考虑分库分表的操作
如果选用mysql,可以使用shardingjdbc 进行客户端分片的计算,这种方案,非常普遍。
NOSql解决全量数据的数据存储压力
点赞数据的规模:超过千亿级别
如何高效的利用存储介质存放这些数据才能既满足业务需求,也能最大程度节省成本,也是一个点赞服务正在努力改造的工程 - KV化存储
针对TIDB海量历史数据的迁移归档
迁移归档的原因(初衷),是为了减少TIDB的存储容量,节约成本的同时也多了一层存储,可以作为灾备数据。
作为一个典型的大流量基础服务,点赞的存储架构需要最大程度上满足两个点
①、最大的可靠性:满足业务读写需求的同时具备最大的可靠性
②、最小化存储成本: 选择合适的存储介质与数据存储形态,最小化存储成本
从以上两点出发,考虑到KV数据在业务查询以及性能上都更契合点赞的业务形态,选用 TaiShan(B站自研的KV数据库) 作为NoSql的存储方案。
数据一致性架构
采用的是非常经典的 cannal+binlog的架构,具体如下:
有关 cannal+binlog的架构和实操,请参考尼恩的100Wqps三级缓存组件的介绍。
建议大家做一下实操。尤其是高可用cannal实操。
容灾架构:
作为被用户强感知的站内功能,需要考虑到各种情况下的系统容灾。例如当:
1、存储不可用
- 例如当DB不可用时,需要依托缓存尽可能提供服务。
- 同理当缓存不可用时,DB也需要保证自己不宕机的情况下尽可能提供服务。
2、消息队列不可用
- 当消息队列不可用时,依托B站自研的railgun,通过RPC调用的方式自动降级
3、机房灾难
- 切换机房, 通过 流量路由层实现
4、数据同步容灾
比如点赞就遇到过因为cannal+binlog的数据同步问题(断流、延迟)导致的点赞计数同步延迟问题。
5、服务层的容灾和降级
1 存储(db、redis等)的容灾设计(同城多活)
作为面对C端流量的直接接口,在提供服务的同时,需要思考在面对各种未知或者可预知的灾难时,如何尽可能提供服务
在DB的设计上,点赞服务有两地机房互为灾备,设计专用的proxy代理层,db-proxy(sidecar), 业务通过db-proxy(sidecar)访问 redis和db。
db-proxy(sidecar)为了方便业务访问,使用的是 sidecar 模式,有关sidecar 模式的内容,具体请参见尼恩的左手云原生、右手大数据笔记。
正常情况下,机房1承载所有写流量与部分读流量,机房2承载部分读流量。
当DB发生故障时,通过db-proxy(sidecar)的切换可以将读写流量切换至备份机房继续提供服务。
在缓存(Redis)上,点赞服务也拥有两套处于不同机房的集群,并且通过异步任务消费TiDB的binLog维护两地缓存的一致性。
可以在需要时切换机房来保证服务的提供,而不会导致大量的冷数据回源数据库。
2、数据同步容灾
点赞job对binLog的容灾设计
由于点赞的存储为TiDB,且数据量较大。
在实际生产情况中,binLog会偶遇数据延迟甚至是断流的问题。
为了减少binLog数据延迟对服务数据的影响。
服务做了以下改造。
- 监控:
首先在运维层面、代码层面都对binLog的实时性、是否断流做了监控
- 应对
脱离binlog,由业务层(thumb-service)发送重要的数据信息(点赞数变更、点赞状态事件)等。
当发生数据延迟时,程序会自动同时消费由thumbup-service发送的容灾消息,继续向下游发送。
3、服务层的容灾与降级
(以点赞数、点赞状态、点赞列表为例),点赞作为一个用户强交互的社区功能服务,对于灾难发生时用户体验的保证是放在第一位的。
所以针对重点接口,B站都会有兜底的数据作为返回。
多层数据存储互为灾备
- 点赞的热数据在redis缓存中存有一份。
- kv数据库中存有全量的用户数据,当缓存不可用时,KV数据库会扛起用户的所有流量来提供服务。
- TIDB目前也存储有全量的用户数据,当缓存、KV均不可用时,tidb会依托于限流,最大程度提供用户数据的读写服务。
- 因为存在多重存储,所以一致性也是业务需要衡量的点。
- 首先写入到每一个存储都是有错误重试机制的,且重要的环节,比如点赞记录等是无限重试的。
- 另外,在拥有重试机制的场景下,极少数的不同存储的数据不一致在点赞的业务场景下是可以被接受的
多地方机房互为灾备
- 点赞机房、缓存、数据库等都在不同机房有备份数据,可以在某一机房或者某地中间件发生故障时快速切换。
点赞重点接口的降级
- 点赞数、点赞、列表查询、点赞状态查询等接口,在所有兜底、降级能力都已失效的前提下也不会直接返回错误给用户,而是会以空值或者假特效的方式与用户交互。
- 后续等服务恢复时,再将故障期间的数据写回存储。
架构的演进方向
架构方案,没有最优,只有更优。
B站的点赞中台后续的演进方向大致为:
- 点赞服务单元化:要陆续往服务单元化的方向迭代、演进。
- 点赞服务平台化:在目前的业务接入基础上增加迭代数据分库存储能力,做到服务、数据自定义隔离。
所以,以上才是“教科书式” 答案:
结合 B站的方案,大家回到前面的面试题:
- 千万级数据,如何做系统架构?
- 亿级数据,如何做做系统架构?
- 千万级流量,如何做系统架构?
- 亿级流量,如何做做系统架构?
- 高并发系统,如何架构?
以上的方案,才是完美的答案,才是“教科书式” 答案。后续尼恩会给大家结合行业案例,分析出更多,更加劲爆的答案。当然,如果遇到这类问题,还可以找尼恩求助。
推荐阅读:
《干翻 nio ,王炸 io_uring 来了 !!(图解+史上最全)》
《SpringCloud+Dubbo3 = 王炸 !》
《响应式圣经:10W字,实现Spring响应式编程自由》
《4次迭代,让我的 Client 优化 100倍!泄漏一个 人人可用的极品方案!》
《全链路异步,让你的 SpringCloud 性能优化10倍+》
《Linux命令大全:2W多字,一次实现Linux自由》
《阿里一面:谈一下你对DDD的理解?2W字,帮你实现DDD自由》
《阿里一面:你做过哪些代码优化?来一个人人可以用的极品案例》
《网易二面:CPU狂飙900%,该怎么处理?》
《阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了》
《峰值21WQps、亿级DAU,小游戏《羊了个羊》是怎么架构的?》
《场景题:假设10W人突访,你的系统如何做到不 雪崩?》
《2个大厂 100亿级 超大流量 红包 架构方案》
《Nginx面试题(史上最全 + 持续更新)》
《K8S面试题(史上最全 + 持续更新)》
《操作系统面试题(史上最全、持续更新)》
《Docker面试题(史上最全 + 持续更新)》
《Springcloud gateway 底层原理、核心实战 (史上最全)》
《Flux、Mono、Reactor 实战(史上最全)》
《sentinel (史上最全)》
《Nacos (史上最全)》
《分库分表 Sharding-JDBC 底层原理、核心实战(史上最全)》
《clickhouse 超底层原理 + 高可用实操 (史上最全)》
《nacos高可用(图解+秒懂+史上最全)》
《队列之王: Disruptor 原理、架构、源码 一文穿透》
《环形队列、 条带环形队列 Striped-RingBuffer (史上最全)》
《一文搞定:SpringBoot、SLF4j、Log4j、Logback、Netty之间混乱关系(史上最全)》
《红黑树( 图解 + 秒懂 + 史上最全)》
《分布式事务 (秒懂)》
《缓存之王:Caffeine 源码、架构、原理(史上最全,10W字 超级长文)》
《缓存之王:Caffeine 的使用(史上最全)》
《Docker原理(图解+秒懂+史上最全)》
《Redis分布式锁(图解 - 秒懂 - 史上最全)》
《Zookeeper 分布式锁 - 图解 - 秒懂》
《Netty 粘包 拆包 | 史上最全解读》
《Netty 100万级高并发服务器配置》
当前快看:1000亿数据、30W级qps如何架构?来一个天花板案例
3-Eureka注册中心
天天精选!【验证码逆向专栏】某验三代、四代一键通过模式逆向分析
当前信息:索泰RTX 4090月白深度测试:真孤独求败!A卡没得玩了
网友晒视频广州一特斯拉在停车场连撞多车 司机下车就跑:又踩错了吗
当前看点!设计时速100公里!上海苏州互通地铁今起试跑:苏州坐地铁直达
环球资讯:韦达定理
全球播报:轻松玩转Makefile | 基础用法
医院拍CT有位患者叫熊猫 结果竟是真熊猫:网友祝福“国宝”尽快好起来
丰田拆完一辆特斯拉Model Y后被震撼了 高管惊叹:我们远远落后
全球新动态:火爆全网的AI小姐姐模型重新上线 作者:画什么图后果自负
【全球热闻】大厂年薪30万95后女生转行卖快餐:直言脱离公司KPI太快乐了
当前观察:《暗黑破坏神4》玩家打怪时 不会出现天量伤害数值
世界今热点:通用电梯:目前产能在满足履行轨道交通项目合同需求的同时,不会影响公司履行其他客户订单或新接订单的生产需求
环球报道:电脑病毒的介绍与防护_电脑病毒与防护介绍
天天日报丨浅析大促备战过程中出现的fullGc,我们能做什么?
ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!
一款超级给力的弱网测试神器—Qnet(附视频)
焦点要闻:Vue,小程序开发技术详解
环球即时看!关于React-Router6 (React 路由)
每日简讯:取代马斯克:新CEO接班人浮出水面
健身网红大容量运动杯:富光1.6L顿顿桶29元发车
每日热门:马力超百匹!春风NK800双缸街车发布:46890元起
热资讯!连续三年发现大油田 渤海又出亿吨级油田:1万辆车能跑30年
粽子米泡几个小时最佳?粽子米怎么调料?
职内是什么意思?职内的职能是什么?
天天快消息!【Spring基础补充】 注解补充(二)
塑料花盆能用几年?塑料花盆和陶瓷花盆哪个养花好?
url是什么意思?url地址如何获取?
COSPLAY图赏:俄妹COS《原神》八重神子 光腿狐狸媚眼如丝
《最终幻想16》PC版稳了:将于PS5版发售后开发
2299元 小米柔风空调1.5匹开启众筹:再不怕吹空调着凉了
夜空中“最亮”的两颗星星即将“浪漫相拥”:肉眼可见
世界热资讯!一夜3次地震 全球进入地震活跃期?专家回应:其实地震一直很多
江映蓉是哪一届的超女?江映蓉那届超女前十名都有谁?
榨汁机品牌排行榜前十名有哪些?榨汁机榨果汁食谱大全
chkdsk工具访问被拒绝怎么办?chkdsk工具怎么运行?
桌面的图标有阴影怎么去掉?桌面图标怎么设置随意摆放?
windows资源管理器已停止工作是怎么回事?windows资源管理器已停止工作怎么办?
输入法哪个好用?输入法被禁用如何恢复?
2023中南大学地球科学与信息物理学院科研助理招聘(非编制)
java反射机制
世界讯息:HTML+JSP+CSS实现表格布局的例子
环球头条:周鸿祎:打造中国版ChatGPT难度比研发光刻机低很多
快看点丨中国打造全球首艘大容量电池混合动力客滚船:能充8800度电
全球最大3D内容生态!努比亚推出首款裸眼3D平板nubia Pad 3D
视讯!爽脆有嚼劲/便携小包装 鱼泉榨菜7.9元 1.2斤大促
环球新消息丨魅族20系列首发Flyme 10无界生态系统 支持全链路防诈技术
推荐系统[四]:精排-详解排序算法LTR (Learning to Rank)_ poitwise, pairwise, listwise相关评价指标,超详细知
全球热资讯!使用unplugin-auto-import自动导入插件优化vite开发vue3应用
全球视讯!移动计算入门教程_编程入门自学教程_菜鸟教程-免费教程分享
【快播报】李瑞峰回答长城:我们究竟遇到了什么问题
12.98万起 新款长城欧拉好猫上市:小姐姐最爱
世界百事通!马斯克做出重大决定:特斯拉车主可能要难受了
代表建议春节假期至9天:取消调休制度 法定3天变5天
贵州一公司设立“临时哭泣点”引热议:you cry I cry no bb
焦点快看:早安!出行气象来了(2023年3月1日)
当前短讯!读Java性能权威指南(第2版)笔记05_数据库性能JDBC
korean doll likeness模型|Japanese-doll-likeness模型获取及使用
天天微速讯:一招搞定孩子不吃饭问题
实时焦点:python通过轮子安装第三方库(以Wordcloud为例)
全球动态:能否破40亿?《流浪地球2》成2月票房冠军 力压《满江红》
代表建议春节假期延至9天 取消调休!网友期待
天天快看:兼容友商Mesh组网!中兴小方糖路由器今日开售:到手仅99元
当前头条:《流浪地球3》何时出?导演郭帆:估计还要等四年
环球微速讯:3月24日公测!暴雪《暗黑破坏神4》PC配置要求公布
每日报道:MySQL的RR和RC事务隔离级别加锁类型验证
全球今热点:白马非马是什么学派_白马非马是哪家的学说
最完美iPhone要来了!消息称iPhone 16 Pro将采用屏下Face ID
焦点速看:《白夜追凶2》要来了!优酷独家悬疑剧:前作口碑爆火
每日热文:高三女生因百日誓师热血发言表情被网暴 官方回应已心里辅导:女孩未受影响
《暗黑破坏神4》Beta测试系统需求
世界今热点:TVB小花新剧牺牲大!遭五花大绑太重口味,脚踏两只船遭雪藏半年
【全球新要闻】记一次 CesiumJS 中非 4326/3857 WMTS 数据的加载
百度预告3月16日召开发布会:主题围绕文心一言
全球信息:“假苍耳”入侵中国!剧毒杀死牛羊、改变土壤、减产60%
和AI谈恋爱之后 她忘掉了相恋5年的前男友:结局心酸
环球快看:苹果供应商印度工厂突发大火:损失超8300万!一半机器烧毁
全球关注:“春天一把豆,胜过吃猪肉”,常吃4豆,高营养高蛋白,增强免疫
快资讯丨Spring IOC官方文档学习笔记(十三)之环境概要
我国累计落实补偿补助资金近270亿元用于长江禁渔退捕渔民安置
NVIDIA RTX VSR脑补网络视频:标清秒变4K超高清!
每日资讯:离谱!男子邮政寄房产证71天仍未送达
今日热门!AMD锐龙9 7000X3D正式开卖!价格、性能、功耗三杀13900KS
热讯:restaurants怎么读英语发音_restaurants怎么读
【天天播资讯】SpringBoot项目多层级多环境yml设计
天天热头条丨Kubernetes(K8S)应用案例
当前要闻:90后女孩奋斗14年从服务员到博士生 要释放所有潜力:网友感慨太强
热门看点:地铁告示牌提醒“严禁黑车及马自达占用停放”引争议 南京官方解释尴尬
日本女歌手黑崎真音因病去世 年仅35岁
世界时讯:04if分支语句
每日关注!沙特土豪要造巨型科幻建筑了:这次是世界最大立方体
当前信息:搭载全新12代酷睿N200处理器轻薄本仅 2599元!攀升笔记本开学季促销
Rust 知识积累(2)
环球观速讯丨Luffy项目:3、前端调整(全局css、全局配置、全局axios...),后端主页轮播图表设计,接口部分代码编写
世界热消息:pycharm破解版
环球精选!变量处理中的标准化方法
数学家的小故事五十字_50 100字数学家的小故事
焦点播报:曾致2死3伤 特斯拉潮州事故鉴定结果已出:目前不会进行公布
微软与谷歌正面扳手腕:计划推出自家移动应用商店