聊聊高可用的 11 个关键技巧 发表于 2022-06-13 | 分类于 架构 | 暂无评论 大型互联网架构设计,讲究一个四件套组合拳玩法,**高并发、高性能、高可用、高扩展。** 如果能掌握这四个方面,应付大厂面试以及日常工作中的架构方案设计基本不是什么难题。 今天,Tom哥就带大家学习下高可用都有哪些设计技巧?  阅读全文 »
设计好接口的36个锦囊! 发表于 2022-06-13 | 分类于 默认分类 , java | 暂无评论 ## 1. 接口参数校验 入参出参校验是每个程序员必备的基本素养。你设计的接口,必须先校验参数。比如入参是否允许为空,入参长度是否符合你的预期长度。这个要养成习惯哈,日常开发中,很多低级bug都是不校验参数导致的。 > 比如你的数据库表字段设置为varchar(16),对方传了一个32位的字符串过来,如果你不校验参数,插入数据库直接异常了。 出参也是,比如你定义的接口报文,参数是不为空的,但是你的接口返回参数,没有做校验,因为程序某些原因,直返回别人一个null值。。。 阅读全文 »
一次SQL查询优化原理分析:900W+数据,从17s到300ms 发表于 2022-06-13 | 分类于 mysql | 暂无评论 有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms); 操作: 查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段; 原理: 减少回表操作,利用延迟关联或者子查询优化超多分页场景。 ```shell -- 优化前SQL SELECT 各种字段 FROM `table_name` WHERE 各种条件 LIMIT 0,10; ``` ```shell -- 优化后SQL SELECT 各种字段 FROM `table_name` main_tale RIGHT JOIN ( SELECT 子查询只查主键 FROM `table_name` WHERE 各种条件 LIMIT 0,10; ) temp_table ON temp_table.主键 = main_table.主键 ``` 阅读全文 »
简单了解 USDT TRC20 TRX BNB BEP20 发表于 2022-06-05 | 分类于 好玩的 | 暂无评论 ### 一、什么是TRC20? USDT提币转账时会出现trc20,波场TRON的网络协议分为TRC 10和TRC 20,TRC 20协议是由ERC 20转化而来,基于TRC 20协议的稳定币也发行了,基于TRC 20的USDT代币(USDT-TRON)能够实现与基于波场的协议和去中心化应用之间的互通性,并且让用户能够在波场全网中进行与法币挂钩货币的交易及交换。 阅读全文 »
长途骑行的一点小建议 发表于 2022-06-01 | 分类于 好文分享 | 暂无评论 B站看到一个视频 [单车骑行穷游全国,在深山遭遇翻车,人横飞进了树林,差点陨命](https://www.bilibili.com/video/BV1aY4y1L7T6?share_source=copy_pc "单车骑行穷游全国,在深山遭遇翻车,人横飞进了树林,差点陨命") 从评论区发现[启东制笔工作室](https://space.bilibili.com/13114790/ "启东制笔工作室")网友的建议很实用,分享下 ## 1、一辆质量可靠的自行车 有能力的话,还是换辆车吧,这种杂牌车不靠谱,一千来块钱能换个美利达的勇士系列,但还是建议换个美利达的公爵系列的,川藏线上很多骑友都是骑的公爵系列,品质还是靠谱的,同价位的捷安特也可以。对价格敏感可以去闲鱼找找有没有合适的。 阅读全文 »