专栏名称: 架构师之路
架构师之路,坚持撰写接地气的架构文章
目录
相关文章推荐
美团技术团队  ·  可信实验白皮书系列04:随机轮转实验 ·  4 天前  
美团技术团队  ·  可信实验白皮书系列03:随机对照实验 ·  4 天前  
架构师之路  ·  爸爸!除了你,沈括,沈万三... ... ·  5 天前  
51好读  ›  专栏  ›  架构师之路

究竟为什么要引入数据库中间件

架构师之路  · 公众号  · 架构  · 2017-11-02 19:30

正文

请到「今天看啥」查看全文


一:partition key上的单行查询

典型场景 :通过uid查询user


场景特点

  • 通过 patition key 查询

  • 每次只返回 一行 记录


解决方案 :base-service层通 过patition key来进行库路由

如上图:

  • user-service底层user库,分库patition key是uid

  • uid上的查询,user-service可以直接定位到库

二、非patition key上的单行查询

典型场景 :通过login_name查询user


场景特点

  • 通过 非patition key 查询

  • 每次只返回 一行 记录


解决方案1 :base-service层 访问所有库

如上图:

  • user-service通过login_name先查全库

  • 结果集在user-service再合并,最终返回一条记录

解决方案2 :base-service 先查mapping库 再通过patition key路由

如上图:

  • 新建mapping库,记录login_name到uid的映射关系







请到「今天看啥」查看全文