上一页 1 2 3 4 5 6 ··· 17 下一页
摘要: 之前有一篇文章介绍分布式id生成粗略选型,提到雪花算法作为一个优秀的方案,满足了我们在分布式下的id生成需求。但如果直接把雪花算法生成的id作为分表键(shard key)在低并发下是会有问题的。下面来一起看下。 现象 我们分表数量是256张表(tb_0,tb_1,tb_2...tb_255),分表 阅读全文
posted @ 2022-02-08 17:32 matengfei 阅读(2238) 评论(0) 推荐(0) 编辑
摘要: 在数据库主键设计上,比较常见的方法是采用自增ID(1开始,每次加1)和生成GUID。数据库自增主键保证唯一性,但在分布式系统中,部署需要考虑的因素太多;GUID设计简单,能保证主键的唯一性,分布式系统中,数据库部署也简单,只是GUID是一串无物理意义的字符串,大量数据查询的时候效率相对会打折,存储暂 阅读全文
posted @ 2022-02-08 14:28 matengfei 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 然而如果某个 goroutine 运行时间太长了,那很肯定会拖累主 goroutine 被阻塞住,整个程序就挂起在那儿了。因此我们需要有超时的控制。 通常我们可以通过 select + time.After 来进行超时检查,例如这样,我们增加一个函数 Run() ,在 Run() 中执行 go ru 阅读全文
posted @ 2021-05-08 17:35 matengfei 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 当业务规模达到一定规模之后,像淘宝日订单量在5000万单以上,美团3000万单以上。数据库面对海量的数据压力,分库分表就是必须进行的操作了。而分库分表之后一些常规的查询可能都会产生问题,最常见的就是比如分页查询的问题。一般我们把分表的字段称作shardingkey,比如订单表按照用户ID作为shar 阅读全文
posted @ 2021-03-10 17:35 matengfei 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 缓存机制介绍 如今利用缓存机制来提高查询效率已被广泛用在各大生产环境,查询数据的一般流程如下所示 使用缓存提高查询效率 如果数据在缓存里边有,则直接从缓存取数据返回。 如果缓存中没有想要的数据,则先去查询数据库,然后将数据库查出来的数据写到缓存中再返回 没有更新数据的情况下,数据库和缓存的数据是保持 阅读全文
posted @ 2021-03-10 15:36 matengfei 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 一、HTTP的历史 早在HTTP建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的web服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了WEB2.0以来,我们的页面变得复杂,不仅仅单 阅读全文
posted @ 2021-02-26 15:20 matengfei 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: server { listen 8081; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /5 阅读全文
posted @ 2020-12-02 11:51 matengfei 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 一般情况下使用"telnet ip port"判断端口通不通,其实测试方法不止这一种,还有很多种方法,下面小编给大家分享了几种方法,具体内容请往下看: 准备环境 启动一个web服务器,提供端口. 1 2 [wyq@localhost ~]$ python -m SimpleHTTPServer 80 阅读全文
posted @ 2020-11-19 14:29 matengfei 阅读(6242) 评论(0) 推荐(0) 编辑
摘要: nginx变量说明 概述 nginx的变量设计非常巧妙,可以实现强大的动态配置,也是module和module之间通信的一种有效手段,通俗的理解,变量就是在配置文件中,以$开头的配置。任何模块都可以导出变量,但是变量名不要和系统内置的变量名冲突。 变量的属性 NGX_HTTP_VAR_CHANGEA 阅读全文
posted @ 2020-08-17 14:47 matengfei 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 服务熔断 在微服务架构中,微服务之间的数据交互通过远程调用完成,微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,此时如果链路上某个微服务的调用响应时间过长或者不可用,那么对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,导致“雪崩效应”。 服务熔断是应对雪崩效应的一 阅读全文
posted @ 2020-05-18 22:29 matengfei 阅读(1963) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 17 下一页