51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
HarmonyOS,学习
应用开发
男人要慢,SQL要快:记一次慢SQL优化
问题这是一个线上问题,从日志平台查询到的SQL执行情况,该SQL执行的时间为11.146s,可以认定为是一个慢查询,美化后的SQL如下:先找到这个表的定义以及索引情况如下:可见,主要有两个联合索引:status,toaccountid和status,fromaccountid问题分析我们先用explain查看执行计划:先看看explain的含义吧。id:没什么就是ID而已,如果没有子查询的话,通常就一行。selecttype:大致分为简单查询和复杂查询两类,复杂查询又分为简...
wg204wg
0回复
7226浏览
MySQL
为什么数据库字段要使用NOT NULL?(一)
最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOTNULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。基于目前大部分的开发现状来说,我们都会把字段全部设置成NOTNULL并且给默认值的形式。通常,对于默认值一般这样设置:整形,我们一般使用0作为默认值。字符串,默认空字符串时间,可以默认1970010108:00:01,或者默认0000000000:00:00,但是连接参数要添加zeroDateTimeBehaviorconvertToNul...
wg204wg
0回复
6379浏览
Mysql
听说你对explain 很懂?(三)
eqref通常通过主键索引或者唯一索引查询时会看到eqref,它最多只返回一条数据。userid是唯一索引,为了测试就关联以下主键索引。ref也是通过索引查找,但是和eqref不同,ref可能匹配到多条符合条件的数据,比如最左前缀匹配或者不是主键和唯一索引。最简单的办法,随便查一个普通索引就可以看到。fulltext使用FULLTEXT索引refornull和ref类似,但是还要进行一次查询找到NULL的数据。这相当于是对于ISNULL查询的优化,如果表数据...
wg204wg
0回复
6318浏览
explain
Arm多个开源项目从GitHub迁移到GitLab
根据GitLab官网消息,ArmOpenSource已决定将公司的多个开源项目从GitHub迁移到GitLab。GitLab概述了ArmOpenSource选择其平台的重要原因:最大化选择和成本效益,最小化供应商锁定。Arm所创建的软件扮演着赋能件(enablementpieces)的角色,能够在其架构上集成其他软件。目前超过95%的移动设备都采用Arm处理器,而这些开源项目覆盖从传感器到云计算的诸多领域。Arm公司的杰出工程师和软件社区高级主管AndrewWafaa解释说:“就其...
开源news
0回复
8752浏览
开源
github
开源项目
【直播回顾】战码先锋第四期:轻松入门,成为媒体子系统贡献者
6月7日晚上19点,战"码"先锋第四期直播《轻松入门,成为媒体子系统贡献者》,在OpenHarmony社群内成功举行。本期课程,由华为终端BG软件架构设计部主任工程师Jelly老师主讲,是「OpenHarmony开源贡献者计划」"战码先锋,PR征集令"系列活动配套直播之一。「OpenHarmony开源贡献者计划」活动自发布以来,已收到700+PR,新晋40+Contributors。为了帮助更多新手开发者开启开源之旅,我们联合6大OpenHarmony开源大咖,精选5大简单上...
OpenHarmony开发者
0回复
7954浏览
OpenHarmony
直播有奖
一文详解EventMesh落地华为云的探索及实践
精华
本文整理自51CTO开源基础软件学习季直播公开课《EventMesh如何解决SaaS组合式应用集成标准化问题》,更多精彩内容及公开课视频,可点击链接跳转查看。Gartner2020调查显示:到2024年,30%的电商企业将采用组合式应用创新(PBC)。对于PBC,Gartner是这样定义的:PBC是具有明确业务能力的多个数据模型、微服务、API应用和事件通道的集成。它以业务为驱动,能独立完成业务需求,不需要外部依赖。多个PBC可以以积木方式来建立企业...
罗锦荣AlexLuo
2回复
1.4w浏览
EventMesh
极路由4折腾openWRT+VPN+家庭NAS记
原创
极路由,原本是走在智能路由的最前线,无奈公司倒闭,云插件中心和手机APP已经无法访问,原生OS的功能也受到众多的限制,家里的极路由4因此闲置起来。在设备吃灰一段时间后,还是心痒痒想折腾一下,我的设备我做主!毕竟设备起死回生后,还能有蛮多用处的。比如配置家庭小型NAS,曾经128GB的手机三天两头的清理存储,却因图片视频珍贵舍不得删除而纠结,现在定期备份到NAS,手机随时随地清理不再心疼!目前openWRT系统(R21.12....
yadian
0回复
7.6w浏览
路由
openWRT
VPN
NAS
Zerotier
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
吞吐量在了解qps、tps、rt、并发数之前,首先我们应该明确一个系统的吞吐量到底代表什么含义,一般来说,系统吞吐量指的是系统的抗压、负载能力,代表一个系统每秒钟能承受的最大用户访问量。一个系统的吞吐量通常由qps(tps)、并发数来决定,每个系统对这两个值都有一个相对极限值,只要某一项达到最大值,系统的吞吐量就上不去了。QPSQueriesPerSecond,每秒查询数,即是每秒能够响应的查询次数,注意这里的查询是指用户发出...
wg204wg
0回复
1.9w浏览
QPS
TPS
RT
面试官:缓存一致性问题怎么解决?| 文末送书
关于Redis的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。对于缓存和数据库的操作,主要有以下两种方式。先删缓存,再更新数据库先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。解决方案延时双删延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到...
wg204wg
0回复
1.5w浏览
Redis
《我想进大厂》之分布式事务篇(二)
SAGASaga源于1987年普林斯顿大学的Hecto和Kenneth发表的如何处理longlivedtransaction(长活事务)论文。主要思想就是将长事务拆分成多个本地短事务。如果全部执行成功,就正常完成了,反之,则会按照相反的顺序依次调用补偿。SAGA模式有两种恢复策略:向前恢复,这个模式偏向于一定要成功的场景,失败则会进行重试向后恢复,也就是发生异常的子事务依次回滚补偿由于这个模式在国内基本没看见有谁用的,不在赘述。消息队列基于...
wg204wg
0回复
7962浏览
事务
修正版 | 面对千万级、亿级流量怎么处理?(二)
消息队列对于MQ的作用大家都应该很了解了,削峰填谷、解耦。依赖消息队列,同步转异步的方式,可以降低微服务之间的耦合。对于一些不需要同步执行的接口,可以通过引入消息队列的方式异步执行以提高接口响应时间。比如在交易完成之后需要扣库存,然后可能需要给会员发放积分,本质上,发积分的动作应该属于履约服务,对实时性的要求也不高,我们只要保证最终一致性也就是能履约成功就行了。对于这种同类性质的请求就可以走MQ异...
wg204wg
0回复
7845浏览
流量
阿里二面:什么是mmap?(二)
sendfile相比mmap来说,sendfile同样减少了一次CPU拷贝,而且还减少了2次上下文切换。sendfile是Linux2.1内核版本后引入的一个系统调用函数,通过使用sendfile数据可以直接在内核空间进行传输,因此避免了用户空间和内核空间的拷贝,同时由于使用sendfile替代了read+write从而节省了一次系统调用,也就是2次上下文切换。整个过程发生了2次用户态和内核态的上下文切换和3次拷贝,具体流程如下:用户进程通过sendfile()方法向操作...
wg204wg
0回复
7376浏览
mmap
《我想进大厂》之分布式事务篇(一)
对于分布式事务,相信所有人都应该很了解,为什么会有分布式事务?无论是数据量导致的分库,还是现在微服务盛行的场景都是他出现的原因。这一篇内容还是避免不了俗套,主要的范围无非是XA、2PC、3PC、TCC,再最后到Seata。但是,我认为这东西,只是适用于面试和理论的了解,你真要说这些方案实际生产中有人用吗?有,但是会实现的更简单,不会套用理论来实现,大厂有大厂的解决方案,中小公司用框架或者压根就不存在分布式事务...
wg204wg
0回复
6478浏览
事务
本周二晚19:00战码先锋直播丨轻松入门,成为媒体子系统贡献者
OpenAtomOpenHarmony(以下简称“OpenHarmony”)工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开源建设、贡献代码或者帮助社区提交和修复Bug,与OpenHarmony社区共同成长。本期「OpenHarmony开源贡献者计划」以“战码先锋,PR征集令”为主题,联合6大OpenHarmony开源大咖,精选5大简单上手的开源代码仓(Docs、ArkUI、媒体子系统、测试子系统、启动恢复),在【战“码”先锋直播间】,在线...
OpenHarmony开发者
0回复
8427浏览
OpenHarmony
战码先锋
直播有奖
不管卷不卷,面试还是得问问你G1原理!
所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(GarbageFirst)回收器的出现颠覆了之前版本CMS、Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G1的论文后,直到2012年JDK7发布更新版本,花了将近10年的时间G1才达到商用的程度,而到JDK9发布之后,G1成为了默认的垃圾回收器,CMS也变相地相当于被淘汰了。G1结构G1抛弃了之前的分代收集的方式,面向整个堆内存进行回收,把内存划分为多个大小相等的独...
wg204wg
0回复
7397浏览
G1
阿里二面:什么是mmap?(一)
平时在面试中你肯定会经常碰见的问题就是:RocketMQ为什么快?Kafka为什么快?什么是mmap?这一类的问题都逃不过的一个点就是零拷贝,虽然还有一些其他的原因,但是今天我们的话题主要就是零拷贝。传统IO在开始谈零拷贝之前,首先要对传统的IO方式有一个概念。基于传统的IO方式,底层实际上通过调用read()和write()来实现。通过read()把数据从硬盘读取到内核缓冲区,再复制到用户缓冲区;然后再通过write()写入到socket缓冲区,...
wg204wg
0回复
7278浏览
mmap
《我想进大厂》之Zookeeper夺命连环9问(二)
那选举之后又是怎样进行数据同步的?那实际上Zookeeper在选举之后,Follower和Observer(统称为Learner)就会去向Leader注册,然后就会开始数据同步的过程。数据同步包含3个主要值和4种形式。PeerLastZxid:Learner服务器最后处理的ZXIDminCommittedLog:Leader提议缓存队列中最小ZXIDmaxCommittedLog:Leader提议缓存队列中最大ZXID直接差异化同步DIFF同步如果PeerLastZxid在minCommittedLog和maxCommittedLog之间,那么则说明...
wg204wg
0回复
7312浏览
Zookeeper
修正版 | 面对千万级、亿级流量怎么处理?(一)
这是一道很常见的面试题,但是大多数人并不知道怎么回答,这种问题其实可以有很多形式的提问方式,你一定见过而且感觉无从下手:面对业务急剧增长你怎么处理?业务量增长10倍、100倍怎么处理?你们系统怎么支撑高并发的?怎么设计一个高并发系统?高并发系统都有什么特点?......诸如此类,问法很多,但是面试这种类型的问题,看着很难无处下手,但是我们可以有一个常规的思路去回答,就是围绕支撑高并发的业务场景怎么设计系统...
wg204wg
0回复
7096浏览
流量
修正版 | QPS过万,Redis大量连接超时怎么解决?
之前负责的一个服务总是在高峰时刻和压测发生大量的redis连接超时的异常redis.clients.jedis.exceptions.JedisConnectionException,根据原有的业务规则,首先会从数据库查询,然后缓存到redis中,超时时间设置为3分钟。并且由于业务的特性,本身未做降级、限流等处理措施,而在巅峰的QPS基本上快达到20000的样子,虽然这个现象只是单纯的一个异常,并不会导致整个主链路的流程不可用,但是我们还是要找出问题的原因并且解决。...
wg204wg
0回复
6827浏览
Redis
《我想进大厂》之Zookeeper夺命连环9问(一)
谈谈你对Zookeeper的理解?Zookeeper是一个开源的分布式协调服务,由雅虎公司创建,由于最初雅虎公司的内部研究小组的项目大多以动物的名字命名,所以后来就以Zookeeper(动物管理员)来命名了,而就是由Zookeeper来负责这些分布式组件环境的协调工作。他的目标是可以提供高性能、高可用和顺序访问控制的能力,同时也是为了解决分布式环境下数据一致性的问题。集群首先,Zookeeper集群中有几个关键的概念,Leader、Follower和Obse...
wg204wg
0回复
6004浏览
Zookeeper
暂无内容
1
464
465
466
467
468
469
470
471
472
550
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅