高并发下分布式ID生成方案 发布于 七月 09, 2019 在我们的开发过程中,只要你是涉及到高并发的领域,那么”怎么为你的系统生成一个高效、可靠、友好的ID”就是你的一个永远绕不开的问题。 本文档部分内容非原创,借鉴了网上的一些资源。涉及出处将在本文的最后部分列出。 一.分布式ID原则 唯一性 高效性 可用性 有序性 此处主要介绍为什么ID生成需要有序性 写性能 在MySQL InnoDB引擎中使用的是聚集索引, 由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应该尽量使用有序的主键保证写入性能。 聚簇索引的数据的物理存放顺序与索引顺序是一致的,即:只要索引是相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。 如果主键不是自增id,那么可以想象,它会干些什么,不断地调整数据的物理地址、分页,当然也有其他一些措施来减少这些操作, 但却无法彻底避免。但,如果是自增的,那就简单了,它只需要一页一页地写,索引结构相对紧凑,磁盘碎片少,效率也高。 读性能 来感受下以下两个sql的性能吧,即使created_at字段也有索引: 1.select from table order by created_at 2.select from table order by id ps: 根据磁盘预读的特性,如果第一次读取“1”,那么如果你是顺序存储,那么“2,3,4,5”也会被读取进内存中。 (当然一般ID就是你的聚簇索引,已经帮你排好序了) 二.实现方案 1. 数据库方案(auto_increment、Ticket Servers) auto_increment 优点: 1.简单,代码方便,性能可以接受。 2.数字ID天然排序,对分页或者需要排序的结果很有帮助。 缺点: 1.可读性,容易暴露出库信息(今天下个订单,第二天同时间下个订单,其实就可以推测出该系统一天的订单量)。 2.在性能达不到要求的情况下,比较难于扩展。 3.如果遇见多个系统需要合并或者涉及到数据迁移会相当痛苦。 4.在单个数据库或读写分离或一主多从的情况下,只有一个主库可以生成。有单点故障的风险。 优化方案 针对主库单点,如果有多个Master库,则每个Master库设置的起始数字不一样,步长一样, 可以是Master的个数。 ... 阅读全文
详解99.9%的网站没必要用https;http与https涉及的名誉问题;https安全吗? 发布于 六月 10, 2022 简述 :连CCTV、php.net的官网都还只支持http,国内还有很多大网站都以http为主,谷歌浏览器就贸然将所有的http网站标为“不安全”,会让人误以为有病毒。https只是提高了安全级别,http并非不安全。(2018-09-29 07:28更新) 前几天用最新版的谷歌浏览器(Chrome),测试自己的站点。发现所有的HTTP网址,已经被打上了灰色的“不安全”, 会让人误以为有病毒 ,如下图: Google之前宣布,这一举措从2018年7月开始实施。再过些时间,这个灰色的“不安全”(英文浏览器显示:Not secure),将会变成红色。 多年来,我对Google一直很崇敬,但由于这个事件, 对Google的崇敬跌到了谷底 。 这一次是Google向所有的HTTP网站开炮,一刀切,所有的HTTP网站标为不安全 。 HTTPS安全吗?安全是相对的,没有任何技术是绝对永久安全的。所不同的是,被攻破的机率不同。 用户访问一个HTTP、HTTPS网页,过程都是:客户端(浏览器)A→路由服务器B→路由服务器C→路由服务器D……网页服务器E→路由服务器F、路由服务器G……客户端A。 上述的这些过程,用A、B、C、D表示,其中A就是我们的任意浏览器,E是网页的服务器, 这些路由服务器都是运营商的服务器 。HTTPS,主要是从A开始产生、发送密文hash数据,此hash数据经过的所有路由服务器,必然是处于加密的hash数据,无法被逆向还原;网页服务器E,收到的数据, 必须有与相应的SSL证书的数据,才可以将这hash数据还原 ,网页服务器必须将这些hash数据还原,否则将无法工作──用户看到的全是乱码。 HTTP也可以模拟HTTPS的这个过程,甚至产生类似的hash数据。 上述的过程中,所有的路由服务器,如B、C、D、F、G,假设HTTP在遇到不安全的拦截时,这个不安全理论上是在路由服务器当中产生,也就是骨干线路的路由设备。 客户端(浏览器),在发送和接收时显示的明文数据,安全性是一样的。也就是说,万一电脑中了专项的病毒、木马,无论是HTTPS还是HTTP,安全性是一样的,都有可能被获取,它是针对本机电脑。即使用了HTTPS,往远程发送hash数据, 但是在产生hash数据之前的明文数据已被截获 ,这种情况下,无论是HTTPS,还是将来更加安全的协议,都并非完全安全。 HT... 阅读全文
Mifare Classic card(M1)卡破解过程 发布于 五月 25, 2021 一次偶然原因,在网上看到关于一些Mifare Classic card卡的破解文章,发现成本不是很高,并且门槛也不太高(本人笨得很,没觉得低)觉得很有意思,准备入坑一波。正好我寝室有饭卡、洗澡卡和直饮卡,爲啥不试一试呢,嘿嘿.说干就干! 于是乎就在网上各种收集资料,(本人懒得很,不想去图书馆查资料)首先我们得搞懂M1卡的内部结构是吧,不然无从下手啊,所以我们先从结构说起吧. 可能文章有点长,着急的话可以直接跳过前面三个点 1.M1卡的存储内部结构: M1卡分爲16个扇区,每个扇区对应4块(块0-块3),共64块,编号爲0-63.第0扇区的第0块用于存放厂商代码,已经固化无法更改。其馀区的第0-2块用于存放数据,块3爲控制块用于存放密码A、存取控制、密码B,结构如下: A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5 (密码A 6字节) (存储控制 4字节) (密码B 6字节) 并且每个扇区块3中的密码和存储控制全部都是独立的,独立控制本扇区的各种操作,每个扇区都能实现不同的功能,所以广泛用作一卡通。存储控制里面4字节的具体含义我也不是很清楚(不影响我们破解),所以就不说出来误导大家了。 卡中每个块包含16字节,所以M1卡的容量=16扇区*4块*16字节=1024字节=1k (M1卡的由来)。 知道了M1卡的大致结构我们就可以开始进行破解了,我在此收集了几种常见的破解手段。 2.M1卡的破解原理: 1)暴力破解: 暴力破解是最简单粗暴、不需要多少技术含量的,就是比较费时,但这并不妨碍大家对它喜爱之情。因爲M1是被动卡,需要读卡器爲之供能,一旦读卡器切断电源,卡中临时数据就会丢失,所以无论试错多少次密码都不会被锁定。特别是一些厂商偷懒用弱密码,花不了多少时间就能破解。 2)克隆卡片: 这算是最简单又实用的方法了。因爲M1卡加密扇区里面保存着各种数据,所以可以克隆一张带有同样数据的克隆卡。这就会用到一种叫UID卡的特殊M1模拟卡。前面说过,每张卡在0... 阅读全文
重新学习并解锁emby4.6.7,4.7.2版本 发布于 六月 14, 2022 版本历史与建议 2022.6.4: 更新4.7.2版本. 更新docker镜像,更新双端文件,更新群晖一键脚本. 更新4.7.*版本群晖脚本的sb小bug.相比于4.7.1, emby官方 1.在媒体库选项中增加剧集介绍检测功能. 2.增加用户配置选项,可以跳片头. 3.修复从文件名中解析集数时的集数倒退问题. 4.修复家庭录像的文件名在文件名的最后一个点之后被截断的问题. 5.修复删除下载任务时重新下载的问题. 6.如果启用字幕选择,记住即使用户字幕模式被设置为默认为无. 从这个版本开始不再做所谓的美化包, 不再更新ubuntu脚本, 由于更新一次全端耗时太长,除非有重大更新,否则以后只能做到随缘更新了. 请各位手动关掉自动更新, 位置在 设置 - 自动更新 - 允许服务器自动重启以应用更新. 取消勾选然后点击保存. 2022.5.26: 更新4.7.1版本. 相比于4.7.0.60, 官方 1.修复了windows上不必要的ffmpeg依赖问题, 2.提升了内嵌中文字幕和音轨的体验, 3.修复了一堆错乱抽风的按钮(4.7.0.60版本所有人都会遇到), 4.歌词开始显示时间轴. 已经安装了4.7.0.60的同学可以考虑升级。 2022.5.20: 修复群辉一键脚本,更新ubuntu一键脚本的sb小bug,更新群晖命令。修复受到影响的docker镜像。 2022.5.19: 更新4.7.0.60正式版,更新群辉一键脚本,更新ubuntu一键脚本,更新docker,更新美化包。更新unraid模板。 2022.5.9: 更新群晖一键脚本到v1.2,解决运行脚本后套件无法启动的问题。更新4.7.38双平台测试版。 2022.4.8: 更新unraid模板, 默认加上了代理的字段, 需要自己设置好http和https代理地址。不需要的话请删掉这两个字段 前言 以前,emby开心用户靠neko.re老哥的第三方激活服务器和加速套件得以存活,今天,发现老哥的服务器已经全关了,意料之中,早晚的事,幸亏能用的时候就备份了老哥原来的返回格式。 1 2 3 4 5 6 7 8 //https://crackemby.mb6.top/admin/service/registration/validateDevice.php? {"cacheExpirationDays... 阅读全文
Bose QC25耳机更换耳罩软垫 发布于 一月 21, 2021 耳罩軟墊以固定環卡穩以固定位置。固定環卡住圍著耳罩內圍的小卡扣。 如果軟墊有部分或完全離開耳罩,請按壓固定環以卡穩耳罩。然後沿著固定環邊緣按下,確保軟墊扣合耳罩。 按這些步驟更換耳罩軟墊: 只需拉出耳罩外圍的邊緣,即可拆下軟墊。不要移除耳罩內襯物料 將新的軟墊固定環對準耳罩外圍安裝 確保軟墊平均安放左整個耳罩之上,沿邊輕輕按下以扣合耳罩 来源:https://www.bose.hk/zh_hk/support/article/ear-cushion-replacement-qc25.html 阅读全文
盘点下我通关过的86款SFC游戏 发布于 八月 11, 2021 大家好,我是“经典JRPG”贴吧的吧主。今天来聊聊我通关过的86个SFC游戏 1、星之卡比3 超任末期的游戏 1997年才出的 那时已经是PS风光无限的时代 这款游戏和耀西岛一样,采用了童话般的蜡笔画风 卡比系列的大多数作品,都只能吸收敌兵,学习敌兵技能。而这一作,则可以与5、6种可爱的小动物合体。合体后再使用敌兵的技能,效果都是完全不同的!总共有4、50种攻击方式。 和不同动物合体后,行动的特点也完全不一样,有的会飞,有的能游泳,有的身体强壮而笨重,玩起来的感觉各有千秋 这游戏虽然没有其他ACT那样惊险、刺激,但边听游戏中美妙的音乐边看这童话般的画面,感觉真的很美好 2、樱桃小丸子南国岛 樱桃小丸子是我最喜欢的动画片,而超任上这款《南国岛》更是我心目中不可多得的佳作。 游戏中有三个小游戏——扔皮球、拖地板、水上碰撞,每个都有很多关,对手是小丸子的各位同学——小玉、丸尾、花轮。这三个小游戏还能两个人对战,以前用它来欺负自己的妹妹真是非常有意思~ 此外,游戏中还有智力问答和画板两个附加内容。智力问答我自然看不懂。。。画板虽然肯定不能和WINDOWS自带的画图工具相比,但也别有一番乐趣 游戏的音乐也是非常赞,不比动画片里的配乐差 3、米老鼠的魔法大冒险1 米老鼠系列也是SFC上不可多得的经典ACT 很怀念以前CAPCOM的迪士尼游戏。FC上的小美人鱼、睡衣英雄(小尼莫)、松鼠大战,SFC上的米老鼠系列和阿拉丁,都是手感、音乐、画风俱佳的极品。 很多SFC的迪士尼游戏也被移植到了GBA上。与GBA上那些欧美厂商做的迪士尼游戏比起来,高下立判。 米老鼠系列我SFC上我就通了1和3。感觉2代的画面反而不如1,有些简陋。后来得知原来2代是SFC、MD双版本的,估计CAPCOM是以MD版作为蓝本,直接移植到SFC上的吧。 1代我研究也不深,也就通了1、2遍 4、米老鼠的魔法大冒险3(又名米老鼠和唐老鸭) 刚刚忘了介绍,米老鼠系列的一大特色就是换装系统 不同的装束,拥有不同的技能。 我第一次玩米老鼠3的时候是初二。那时这个游戏把我深深震撼了,第一感觉就是很像以前FC上的松鼠大战。玩到后面,无论是画面还是游戏性,都是无可挑剔。 这游戏我玩了几十遍,几乎所有的隐藏要素都发现了。 和弟弟妹妹也一起玩过双人模式,乐趣倍增 5、阿拉丁 这也是CAPCOM迪士尼游戏的佼佼者。 游戏中... 阅读全文
tailscale部署私有中继服务器-docker部署+自定义端口 发布于 六月 15, 2022 安装docker ssh远程登陆到服务器,推荐使用一键安装命令 curl -sSL https://get.daocloud.io/docker | sh 申请证书 芒果这里是申请免费的Let's Encrypt证书,理论上使用其它的也是ok的。Let's Encrypt证书的申请方法一可以自己到官方网站去申请,而是可以用宝塔面板自建一个静态页面网站,使用宝塔工具申请。芒果这里是使用宝塔申请。申请完毕后得到一个证书文件与密钥文件 # 使用宝塔申请的证书文件一般存在/www/server/panel/vhost/certz中 fullchain.pem #证书文件 privkey.pem #密钥文件 然后将其拷贝只根目录下 certpath 目录中,并且按照以下格式重命名证书和密钥文件 yourhostname .crt yourhostname .key 安装镜像 ssh远程登陆到服务器 sudo docker pull zouyq/derper sudo docker run -it -d -p 8082:8082 -p 3478:3478/udp --name derper -v /certpath:/cert zouyq/derper /derper -hostname your-hostname -stun -a :8082 -certmode manual -certdir /cert # 其中your-hostname 替换为你的域名 检查启动状态 sudo docker logs 036401e7240b # 命令格式为sudo docker logs <容器id>, 可以使用sudo docker ps -a查看 如果有以下提示,无报错则说明deper服务已经正常启动 2022 / 03 / 05 02 : 23 : 04 no config path specified; using /var/lib/derper/derper.key 2022 / 03 / 05 02 : 23 : 04 derper: serving on : 8082 with TLS 2022 / 03 / 05 02 : 23 : 04 running STUN server on [::]: 3478 防... 阅读全文
超高速USB数据线备份微信到电脑 发布于 一月 19, 2021 假设WiFi名称为:MyWifi(必须是可以上网的) 首先登录电脑版微信。 对于连接wifi(此处假设已连接MyWifi)的电脑,请先断开wifi连接,或者暂时“忘记网络”,防止其自动连接wifi;对于有线上网的电脑,先禁用当前的“本地连接”。 手机接入该wifi(MyWifi) USB将手机连接电脑,然后依次点击【设置——无线和网络——网络共享和便携式热点——开启“USB网络共享”】 ★如果上述步骤成功,那么屏幕右下角的网络连接就会变成已连接状态,并且电脑是可以上网的。此时电脑是通过手机usb共享的网络进行上网的,电脑即使没有连接wifi或网线,也和手机处于同统一局域网,即“有线形式的局域网”。 在电脑版微信“设置”——“备份与恢复”——“备份”,有选择性地备份,或者“全部备份”,然后手机端微信确认开始备份 恢复微信消息的步骤同①~④,仅在第⑤步选择“恢复”即可 来源:https://cloud.tencent.com/developer/article/1562208 阅读全文
9款便宜好用的“无叶风扇”推荐! 发布于 六月 01, 2021 说到无叶风扇,很多人立马会想到无叶风扇的开创者戴森,很多论坛也有用户开箱,评价多是外观颜值高、有逼格、设计出众、噪音小,可谓是好评如潮! 但我认为戴森无叶风扇最大的优点有3个: 1.安全:不直接通过扇片送风,使用安全系数高,如家中有小孩,不用担心出现安全隐患。 2.舒适:传统风扇使用叶片切割空气,风感冲击强,不舒服;无叶风扇吹出的风更柔和,接近自然风,舒适性更好。 3.体积小:无叶风扇占地面积很小,外形设计简洁,颜值也比较高。 虽然有些人把戴森粉吹得有太过,但戴森的产品确实不错,不过2500元-3000元左右的售价,真是 太TM贵了 ! 即便市场上出现了很多戴森的“亲兄弟”,产品售价也在500元到1000元左右,对多数人来说还是比较贵。 上图是QG、欧麦斯、西屋、凉师傅等品牌的无叶风扇,外观相似度高到无力吐槽。 那有没有满足上述3个优点,价格还非常便宜的无叶风扇呢? 还真有! 今天给大家推荐9款便宜又好用的“无叶风扇”,这9款产品在各大电商平台销量排名前列,好评率也非常高。 1.格力无叶风扇FL-09X61Bh 这款格力无叶风扇是我比较推荐的产品,一方面因为销量好、功能丰富,另外一方面是因为它的风轮可以拆卸,大多品牌只能做到拆卸背板,清洗还是很麻烦,而风轮能直接拆下来清洗会非常便利。 产品一般售价329元,最低卖到259元。有自然风、睡眠风、正常风3种模式可选,遥控操作最远支持6米,有1-7h定时/预约功能,还配有香薰盒,可以让你的室内香气四溢。 2.美的无叶风扇ZAB10AR 美的这款机型在全网销量仅次于格力,功能方面美的相比格力的机型多了断电记忆功能,但从产品介绍看它只能拆卸后盖,风轮没法拆下来清洗,这点不如格力,另外做工方面逊色于格力。 产品一般售价359元,最低卖到279元。功能方面跟格力一样有自然风、睡眠风、正常风3种模式可选,也是6米遥控操作,1-7h定时/预约功能。 3.艾美特无叶风扇FT41R 艾美特这款机型销量在全网仅次于美的和格力,相比美的、格力这款机型少了自然风,也没有断电记忆,风轮同样没法拆下来清洗,但价格要便宜不少,用户对艾美特的电机好评度也非常高,产品一般售价299元,最低卖到239元;另外这款型号小细节做的很好,比如一体式提手、防倾倒设计、产品做的很用心。 功能方面有睡眠风、正常风2种模式可选,最远6米遥控操作,1-7h定时/预约功能,... 阅读全文
不搞懂这七个“门道”,千万别买二手车 发布于 十月 13, 2021 这个世界套路太深,不懂就容易被忽悠。很多朋友都特别担心二手车,生怕被骗上当。不在一个圈里混久了,根本不了解这个圈子里的套路,所以才需要我们这些所谓的“老司机”领道。 说长不长,说短不短,不知不觉我也在二手车检测鉴定这个圈里也混了四五年。所以,为了不让朋友们在二手车市场重蹈我的覆辙( 隔行如隔山:八天前,刚被中关村自称老乡的人给骗了,花高价买台二手苹果笔记本,套路之深,简直防不胜防。 ),把我自己总结的关于二手车的一些精华分享给大家了,希望能有所帮助。 一、别把交易看成捡便宜 新车是商品,标价或有浮动却也有一个相对紧凑的价格区间。二手车毕竟是“二手货”,因为使用时间、使用程度不同,导致价格难以统一,而这也就是业内所谓的“一车一况一价”。 很多人把二手车当成淘宝贝、捡便宜。花低价买高配、花少钱买大车,这不是不可能,但是绝不可能太离谱。但是人就是有这样的问题: 人往往容易对与市场价格偏差较大的商品产生抵触情绪,但是对那些标价稍低于市场价的商品,极容易生出捡便宜的想法。 比如:市面上放一个15年的奥迪A4L卖你15W,事故车,你敢要么?肯定不要。 但是不告诉你是事故车,20W卖你呢? 你可能产生疑虑,一年的时间折价三分之一,这也差太多了。熟话说事出反常,必有妖孽啊,这种价格落差很容易引起人的警觉,谁都会怀疑里面有猫腻。 但是23W卖你呢?你知道这车配置不错,市场价应该25W+。但是对方要是解释了为什么低价卖,急着换钱之类的,你可能就感觉是捡到便宜了。但是我问你,你手里的大肾6二手能买4000+,我说便宜几百,3500卖给我,你卖么? 你肯定骂,凭啥让我少赚几百?老子又不是欠你的。 对啊,你又不欠我的,凭啥吃亏?这不是一样的道理么?价值25W+的车凭啥23W卖你?就因为你张的好看? 捡2W的便宜,结果买的是15W都卖不出去的事故车,你这是不是亏了? 但这就是卖家的精明之处,以稍低于市场价的价格速出问题车辆。 这种稍低于市场价几万的车,不至于影响你的警觉,价格还有竞争优势。 只要在你犹豫时装装有人也在关注这车,你脑袋一发热就买了,然后被坑了。 这就是侥幸心理在作怪。每个人都觉得自己可能就是幸运的那一个,可是你自问买这么多年彩票赚过500W么?咱们啊还是千万别觉得自己很受上天垂怜,弄不好就是锤炼了。 所以,购买二手车,不要总想着去比较。绝不能追求便宜更多、最多,而是价... 阅读全文
评论