随笔分类 - 58沈剑—一分钟系列
摘要:一、缘起 当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。假设有用户表: user( uid bigint, name varchar(16), pass varchar(16), age int, sex tinyint, flag tinyint, sig
阅读全文
摘要:缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度、58都没有听说有分区表相关的应用,业内进行一些技术交流的时候也更多的是自己分库分表,而不是使用分区表。于是去网上查了一下,并询问了58到家的DBA专家,将自己收到的信息沉淀下来,share给大伙。 解决什么问题? 回答:当mysq
阅读全文
摘要:一、好接口的特性 易读 易用,难于误用 功能独立 容易扩展 二、好接口设计的基本原则 只做并做好一件事 函数名自解释 不恰当的函数名,往往是不恰当设计的征兆 如果没做到上一点,就将函数分解 只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用) 实现永远不能影响接口 举例:不能假定函数调用
阅读全文
摘要:一、如何通过连接访问下游 工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤是为: (1)与下游建立一个连接 (2)通过这个连接,收发请求 (3)交互结束,关闭连接,释放资源 这个连接是什么呢,通过连接怎么调用下游接口?服务/数据库/缓存,官方会提供不同语言的Driver
阅读全文
摘要:一、缘起 分布式环境下,多台机器上多个进程对一个数据进行操作,如果不做互斥,就有可能出现“余额扣成负数”,或者“商品超卖”的情况,如何实现简易分布式锁,对分布式环境下的临界资源做互斥,是今天将要讨论的话题。 二、互斥原理 原理:多个访问方对同一个资源进行操作,需要进行互斥,通常是利用一个这些访问方同
阅读全文
摘要:什么是负载均衡 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。 常见的负载均衡方案 常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每
阅读全文