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
ArkTS
实战教程
Docker是如何实现隔离的?
Namespace1.1容器为何需要进程隔离被其他容器修改文件,导致安全问题资源的并发写入导致不一致性资源的抢占,导致其他容器被影响dockerrunitnamedemodockerbusyboxbinshpsef在宿主机查看进程IDpsefgrepbusybox真实的docker容器pid这就是进程资源隔离表象:对宿主机,dockerrun启动的只是个进程,pid44451而容器程序本身被隔离了,容器的内部都只能看到自己内部的进程这其实是基于Linux的Namespace技术(Windows也有类似...
halirong
0回复
8711浏览
Docker
本地事务设计(6)-串行
RC和快照隔离级别可防止某些竞争条件,但并非全部。一些棘手案例,如写偏斜和幻读,会发现可悲情况:隔离级别难理解,且不同DB实现不一(如RR含义天差地别)若检查应用层代码很难判断特定隔离级别下是否安全,尤其是大型系统,无法预测各种并发无检测竞争条件的好工具。理论上,静态分析可能有所帮助,但更多技术还没法实际应用。并发问题测试也很难,一切取决于时机而这些还不是新问题,1970s引入了较弱隔离级别以来一直这样。...
halirong
0回复
5793浏览
本地事务设计
千万级用户ms级抽奖N名设计方案
🎈1需求大促节零点时,从关注的用户中抽出N个人进行礼品发放,预计全网超过千万用户参加关注抽奖活动,要求:同一用户不能重复参与同一用户不允许二次中奖🎈2设计方案🍮2.1最原始rand(),对每行随机产生一个随机数selectfrom关注用户表orderbyrand()desclimit,0,100预计千万级别的对技术倒排大概率凉凉。🍮2.2N次随机选择SQL效率可以,不过要先后执行两条SQL,并发时有原子性问题,且RAND函数不能保证不重复中奖。offsetSELECTF...
halirong
0回复
5705浏览
ms级抽奖
Redis
大厂都怎么防止重复下单?
问题背景最简单的:DB事务。如创建订单时,同时往订单表、订单商品表插数据,这些Insert须在同一事务执行。Order服务调用Pay服务,刚好网络超时,然后Order服务开始重试机制,于是Pay服务对同一支付请求,就接收到了两次,而且因为轮询负载均衡算法,落在了不同业务节点!所以一个分布式系统接口,须保证幂等性。如何避免重复下单?前端页面也可直接防止用户重复提交表单,但网络错误会导致重传,很多RPC框架、网关都有自动重试...
halirong
0回复
5320浏览
解决ABA
本地事务设计(5)-写倾斜与幻读到底是什么?
多个事务并发写相同对象时,会出现脏写、更新丢失两种竞争条件。为避免数据不一致,可:借助DB内置机制或通过显式加锁以执行原子写操作。但这还不是并发写可能导致的全部问题。2.4.1值班程序医院通常会同时要求几个医生待命,前提是至少有一位医生在待命。医生可放弃他们的班次(如若自己生病了),只要至少有一个同事在这天的班中继续工作。Alice、Bob两位值班医生都病了,所以他们都决定请假。但他们恰在同一时刻点击调班按钮...
halirong
0回复
5063浏览
本地事务设计
Docker容器是如何诞生的?
PaaS日渐深入人心,CloudFoundry为首的传统PaaS,开始蓄力基础设施领域的平台化和PaaS化,于是发现PaaS的问题:如何给应用打包CloudFoundryOpenShiftClodify都没答案,走向碎片化的歪路。此时,名不见经传的PaaS创业公司dotCloud,却选择开源自研的容器项目Docker。就这样一个平淡无奇古天乐一般的技术,开启“Docker”新时代。公司最重要战略之一就是:坚持把“开发者”群体放在至高无上的位置。Docker项目推广策略从一开始就...
halirong
0回复
4983浏览
Docker
龙蜥社区高性能存储技术 SIG 11 月运营回顾 | 龙蜥 SIG
原创
高性能存储技术SIG目标:高性能存储技术兴趣组致力于存储栈性能挖掘,当前主要聚焦内核iouring技术优化异步IO性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。期望通过社区平台,打造标准的高性能存储技术软件栈,推动软硬件协同发展。01本月SIG整体进展本月共合入Anolis主线PR23个,包含多个主要组件的性能优化、CVE修复,以及bugfix等。erofsoverfscache回合上游新特性shareddomain和failover。这两个...
龙蜥社区OpenAnolis
0回复
5582浏览
龙蜥技术
高性能存储
DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率
原文:https:mp.weixin.qq.coms8XtgZk0mGXCjKHfSXFoOg,点击链接查看更多技术内容。HUAWEIDevEcoStudio是开发HarmonyOS应用及服务的一站式集成开发环境。本次分享DevEcoStudio3.1上线的新特性差异化构建打包,定制多目标构建产物。很多应用需要根据具体业务来定制对应场景的工程,举个例子,同一个应用会因为场景的不同需定制为不同的版本,如VIP版、普通版等,开发者需要重复创建多个工程来适配这些场景,而...
HarmonyOS开发者
0回复
7177浏览
HarmonyOS
本地事务设计(3)-快照隔离和可重复读
表面上看,RC似乎已满足事务的一切特征:支持中止(原子性),防止读取不完整的事务结果,并防止并发写的混乱。为我们的开发省去一大堆麻烦。但此隔离级别仍有很多地方可能产生并发错误。如图6说明RC可能的问题:图6读取偏差:Alice观察数据库处于不一致的状态Alice在银行有1000存款,分为两个账户,每个500。现有一笔转账交易从账户1转移100到账户2。若她在提交转账请求后、银行DB系统执行转账的过程中间,查看两个账户的余额...
halirong
0回复
5897浏览
本地事务设计
本地事务设计(2)-读已提交(Read Committed)设计哲学
若两个事务不触及相同数据,即无数据依赖关系,则它们能安全并行运行。只有当:某事务读取另一个事务同时修改的数据或两个事务同时修改相同数据才会出现并发问题。并发BUG很难通过测试找到,因为这样的错误只有在特殊时序下才会触发。这样的时序问题可能非常少发生,通常很难重现。并发性也很难推理,特别是在大型应用中,你不一定知道哪些其他代码正在访问DB。只有一个用户访问数据时,应用开发就够麻烦了,多用户并发更困难,...
halirong
0回复
5315浏览
本地事务设计
本地事务设计(4)-弱隔离级别之防止更新丢失
RC和快照隔离级别主要都是为解决只读事务遇到并发写时可以看到什么(虽然中间也涉及脏写),还没触及另一种情况:两个写事务并发,而脏写只是写并发的特例。写事务并发带来最着名的问题就是丢失更新,如图1的两个并发计数器增量为例。应用从DB读一些值,修改它并写回修改后的值,则可能导致丢失更新。若两事务同时执行,则其中一个的修改可能丢失,因为第二个写内容并未包括第一个事务的修改(有时会说后面的写入狠揍(clobber...
halirong
0回复
4071浏览
本地事务设计
Clang Static Analyzer (4) Clang-Tidy
原创
精华
ClangStaticAnalyzer(4)ClangTidy前文介绍CodeChecker时,使用到了ClangTidy,我们来看看这个工具是什么,如何使用。主要是为了了解下背后的知识点,使用CodeChecker已经很好用了。1、ClangTidy介绍ClangTidy是一个基于Clang的C++“linter”工具。绝大部分lint工具只能在出现问题的代码地方给出提示,之后需要人为修改,而clangtidy则能够自动修复功能。当然这个如何修复,需要该check作者提供。clangtidy的目的是为诊断和修...
zhushangyuan_
2回复
1.5w浏览
clang-tidy
滴滴的分布式ID生成器(Tinyid),好用的一批
不了解分布式ID生成器的同学,先复习一下之前的《9种分布式ID生成方式》Tinyid是滴滴开发的一款分布式ID系统,Tinyid是在美团(Leaf)的leafsegment算法基础上升级而来,不仅支持了数据库多主节点模式,还提供了tinyidclient客户端的接入方式,使用起来更加方便。但和美团(Leaf)不同的是,Tinyid只支持号段一种模式不支持雪花模式。Tinyid的特性全局唯一的long型ID...
heatdog
0回复
9439浏览
分布式ID生成器
Tinyid
3种 Springboot 全局时间格式化方式,别再写重复代码了
时间格式化在项目中使用频率是非常高的,当我们的API接口返回结果,需要对其中某一个date字段属性进行特殊的格式化处理,通常会用到SimpleDateFormat工具处理。SimpleDateFormatdateFormatnewSimpleDateFormat("yyyyMMdd");DatestationTimedateFormat.parse(dateFormat.format(PayEndTime()));可一旦处理的地方较多,不仅CV操作频繁,还产生很多重复臃肿的代码,而此时如果能将时间格式统...
heatdog
0回复
8740浏览
Springboot
未读消息(小红点),前端与RabbitMQ 实时消息推送实践,贼简单
前几天粉丝群里有个小伙伴问过:web页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。之前在《springboot+rabbitmq做智能家居》中说过可以用rabbitmq的MQTT协议做智能家居的指令推送,里边还提到过能用MQTT协议做web的消息推送,而未读消息(小红点)功能刚好应用到实时消息...
heatdog
0回复
6742浏览
RabbitMQ
【修正版】动图图解!代码执行send成功后,数据就发出去了吗?
我们了解下这篇文的目录。代码执行send成功后,数据就发出去了吗?回答这个问题之前,需要了解什么是Socket缓冲区。Socket缓冲区什么是socket缓冲区编程的时候,如果要跟某个IP建立连接,我们需要调用操作系统提供的socketAPI。socket在操作系统层面,可以理解为一个文件。我们可以对这个文件进行一些方法操作。用listen方法,可以让程序作为服务器监听其他客户端的连接。用connect,可以作为客户端连...
ilikevc
0回复
5617浏览
TCP
UDP
Socket 缓冲区
真是没想到,Springboot + Flowable 开发工作流会这么简单!
公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程。项目主要用Springboot+Flowable重构原有的工作流程,Flowable是个用Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架。官方地址:https:www.flowable.orgdocsuserguideindex.html,分享...
heatdog
0回复
5842浏览
Springboot
Flowable
VM系列振弦采集模块 测量时长与优化
河北稳控科技VM系列振弦采集模块测量时长与优化不同的激励方法、延时参数值设置会导致传感器测量时长不同,下面仅以三种基本激励方法进行时长分析,另外三种组合激励方法均可通过这三种基本激励方法推导得出。(1)单次高压脉冲法(2)步进式低压扫频法(3)渐进式低压扫频法注意事项:传感器起振后,输出信号会持续一段时间,为避免传感器未恢复平稳前进行下次激振,在每次激振前会有一段强制延时时间,可以通过寄存器MMINT...
稳控科技
0回复
4205浏览
振弦采集模块
仪器开发
应力应变
信息化技术
自动化监测
3 分钟生成一个单元测试报告,这个样式爱了
平时我们开发接口时,Junit单元测试是最为常用的一种开发测试手段,很多时候测试其实只看接口是否正常返回结果就ok了。但有时候我们要测试一些特殊场景,如:接口超时测试等,就没什么太好的办法了,而TestNG实现容易的多。它与JUnit用法十分相似,只要你用过JUnit分分钟上手。大致讲一下TestNG的几个重要概念,Test注解标注的方法是最小的执行单元,我们可以将这些...
heatdog
0回复
5183浏览
Junit
单元测试
一文快速入门分库分表(必修课)
之前有不少刚入坑Java的粉丝留言,想系统的学习一下分库分表相关技术,可我一直没下定决心搞,眼下赶上公司项目在使用sharingjdbc对现有MySQL架构做分库分表的改造,所以借此机会出一系分库分表落地实践的文章,也算是自己对架构学习的一个总结。我在网上陆陆续续的也看了一些有关于分库分表的文章,可发现网上同质化的资料有点多,而且知识点又都比较零碎,还没有详细的实战案例。为了更深入的学...
heatdog
0回复
4751浏览
Java
分库分表
暂无内容
1
277
278
279
280
281
282
283
284
285
550
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅