Bao Tingyu's Blog

分库分表分片键设计:基因法

分库分表 随着业务发展,单库单表已经不能支撑数据量的增长,此时利用分库分表对数据进行横向拆分。 为何要分表?当单表数据量过大时,会导致索引效率降低,至于这个数据量何时过大,网上通常说1千万,但是还是要结合实际情况来看, 之前遇到过单表5亿条数据的订单单表,也不影响业务使用。 为何要分库(实例)?当数据量过大、数据库连接负载大时,单实例的IO性能有限制,因此拆分实例提升IO性能,且分库能...

服务平滑发布与线上验证

发布策略可分为: 蓝绿发布:将新版本服务器全部发好后,将旧版本服务器的流量统一切换到新版本上 灰度发布(金丝雀发布):是一种滚动发布方式,首先部署部分新版本服务器,将部分流量切到新版本上进行灰度验证,后逐步增大灰度范围至全量 在业务服务的部署过程中,通常通过预发机器来验证新版本代码,验证完成后滚动发布线上机器。 但是发布过程中通常涉及多方服务的依赖,包括前后端、后端服务间、服...

Pod与容器中的业务模型思考

K8s的最小编排单位是Pod而非容器,在K8s的早期项目Borg项目中开发和实践过程中,谷歌的开发人员发现部署的 应用往往存在着类似与“线程和线程组”的关系,线程组之间可以共享文件、信号、数据内存等,这些关系密切的应用需要 部署到同一台机器上,如果没有“组”的概念,运维起来将会很麻烦。 这种“组”的模型最简单的案例就是文件和文件夹,文件夹中可以放入多个文件,甚至是嵌套文件夹; 而在业务模...