上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 前情提要:互联网架构为什么要做服务化? 一、互联网架构为什么要进行服务化-总结 上一篇和大伙交流了一下,随着数据量、并发量、业务复杂度的增长,互联网架构会出现以下问题: (1)代码到处拷贝 (2)底层复杂性扩散 (3)基础库(so/jar/dll)耦合 (4)SQL质量得不到保障,业务相互影响 (5 阅读全文
posted @ 2018-01-15 14:20 简简人事 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 一、案例缘起 我们经常使用事务来保证数据库层面数据的ACID特性。 举个栗子,用户下了一个订单,需要修改余额表,订单表,流水表,于是会有类似的伪代码: start transaction; CURDtable t_account; any Exception rollback; CURDtable 阅读全文
posted @ 2018-01-15 14:14 简简人事 阅读(820) 评论(1) 推荐(0) 编辑
摘要: 近期参加一些业界的技术大会,“微服务架构”的话题非常之火,也在一些场合聊过服务化架构实践,最近几期文章期望用通俗易懂的语言聊聊了个人对服务化以及微服务架构的理解,希望能给大伙一些启示。如果有遗漏,也欢迎大家补充。 一、互联网高可用架构,为什么要服务化? 【服务化之前高可用架构】 在服务化之前,互联网 阅读全文
posted @ 2018-01-15 14:07 简简人事 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 需求缘起 大部分互联网的业务都是“读多写少”的场景,数据库层面,读性能往往成为瓶颈。如下图:业界通常采用“一主多从,读写分离,冗余多个读库”的数据库架构来提升数据库的读性能。 这种架构的一个潜在缺点是,业务方有可能读取到并不是最新的旧数据: (1)系统先对DB-master进行了一个写操作,写主库 阅读全文
posted @ 2018-01-15 13:59 简简人事 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 本文主要讨论这么几个问题: (1)数据库主从延时为何会导致缓存数据不一致 (2)优化思路与方案 一、需求缘起 上一篇《缓存架构设计细节二三事》中有一个小优化点,在只有主库时,通过“串行化”的思路可以解决缓存与数据库中数据不一致。引发大家热烈讨论的点是“在主从同步,读写分离的数据库架构下,有可能出现脏 阅读全文
posted @ 2018-01-15 12:43 简简人事 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 本文主要讨论这么几个问题: (1)啥时候数据库和缓存中的数据会不一致 (2)不一致优化思路 (3)如何保证数据库与缓存的一致性 一、需求缘起 上一篇《缓存架构设计细节二三事》(点击查看)引起了广泛的讨论,其中有一个结论:当数据发生变化时,“先淘汰缓存,再修改数据库”这个点是大家讨论的最多的。 上篇文 阅读全文
posted @ 2018-01-15 12:37 简简人事 阅读(1302) 评论(0) 推荐(0) 编辑
摘要: 本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位 阅读全文
posted @ 2018-01-15 12:28 简简人事 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 本文主要讨论这么几个问题: (1)“缓存与数据库”需求缘起 (2)“淘汰缓存”还是“更新缓存” (3)缓存和数据库的操作时序 (4)缓存和数据库架构简析 一、需求缘起 场景介绍 缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。 例如对于用户的余额信息表acco 阅读全文
posted @ 2018-01-15 12:23 简简人事 阅读(2080) 评论(1) 推荐(1) 编辑
摘要: 一、好接口的特性 易读 易用,难于误用 功能独立 容易扩展 二、好接口设计的基本原则 只做并做好一件事 函数名自解释 不恰当的函数名,往往是不恰当设计的征兆 如果没做到上一点,就将函数分解 只增加,永远不要删除函数与接口(你永远不知道这个接口被谁在使用) 实现永远不能影响接口 举例:不能假定函数调用 阅读全文
posted @ 2018-01-15 11:26 简简人事 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 缘起:受@萧田国 萧总邀请,上周五晚上在“高效运维1号群”内分享了《58同城数据库软件架构设计与实践》(这个topic今年在数据库大会上分享过),应组织方要求,发出纪要。 一、基本概念 二、数据库架构设计思路 (1)可用性 (2)读性能 (3)一致性 (4)扩展性 一、基本概念 概念一“单库” 概念 阅读全文
posted @ 2018-01-15 11:11 简简人事 阅读(2205) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页