专栏首页架构师之路服务读写分离(读服务,写服务),是否可行?

服务读写分离(读服务,写服务),是否可行?

系统分层架构有一个迭代和演进的过程,早期,系统分层架构如下:

  • 上游是需要数据的业务调用方
  • 下游是存储数据的数据库

随着架构的演进,可能要抽取出服务层(详见《互联网架构为什么要做服务化?》):

  • 上游通过RPC调用服务获取数据
  • 中间服务层从数据库获取数据
  • 下游是存储数据的数据库

大家都知道,数据库可以读写分离,为了职责更清新,架构设计上,服务能否读写分离呢?

如上图,服务化读写分离之后:

  • 业务方通过RPC分别调用读服务和写服务
  • 服务层分为读服务与写服务
  • 底层是高可用的数据库集群

当然,也有可能读服务与写服务读写的是不同的数据库,如上图:

  • 写服务访问写库
  • 读服务访问读库

写库与读库是一个主从同步的集群。

那么,问题来了:

  • 你遇到过这种架构设计么?
  • 这种架构设计好还是不好,为什么?
  • 如果服务读写分离设计好,上面两种方案哪种好?

本文分享自微信公众号 - 架构师之路(road5858),作者:58沈剑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务读写分离架构,绝不推荐

    缘起 在《服务读写分离(读服务,写服务),是否可行?》中,对背景做了交代,互联网架构设计上,数据库可以读写分离,服务能否读写分离呢? 下面是两种常见的“服务读写...

    架构师之路
  • 数据库秒级平滑扩容架构方案

    一、缘起 (1)并发量大,流量大的互联网架构,一般来说,数据库上层都有一个服务层,服务层记录了“业务库名”与“数据库实例”的映射关系,通过数据库连接池向数据库路...

    架构师之路
  • 一分钟了解微服务的好处和陷阱

    微服务架构设计代表了一种架构设计思想,配合现在的容器技术(如 Docker),可在软件开发流程、部署、服务维护等各方面产生效率提升。 但不一定所有的业务场景都适...

    架构师之路
  • Spring Cloud 入门

    微服务概念在近几年流行开,微服务架构也成了当前架构设计追寻的热点。Spring Cloud正是开源的微服务架构典型,适合中小型企业快速上手。本文从Spring ...

    aoho求索
  • 作为一名开发人员,来谈谈微服务架构应用的优势

    与使用大型、单体架构应用程序相关的一个大问题是,您被自己的技术所束缚。这可以分两个层面来说,第一,更老的或更有说服力的框架更有可能被选择。这意味着你不太可能使用...

    程序你好
  • Django ORM那些相关操作

    一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/         官网文档 常...

    新人小试
  • 亚马逊如何变成 SOA(面向服务的架构)?

    上一篇文章,我摘录了《程序员的呐喊》。这本书有趣的内容太多,今天再摘录一段。 1、 亚马逊公司不仅是世界最大的网络书店,还是世界最大的云服务商。它是怎么实现从...

    ruanyf
  • 第12章 Spring Boot与微服务第12章 Spring Boot与微服务12.1 微服务架构12.2 Spring Cloud构建微服务架构

    随着RESTful web服务和JSON数据交换格式流行,简单快速建立一个可连接的服务已经越来越方便了。随着持续交付概念推广以及Docker容器普及,微服务将这...

    一个会写诗的程序员
  • Spring Cloud|01 微服务简介

    几点说明 1、本系列Spring Cloud的博客参考了方志朋所著《深入理解Spring Cloud与微服务构建》; 2、大家如果想更加深入的理解Spring...

    微笑的小小刀
  • 如何给老婆解释什么是微服务?

    程序员有了老婆之后就是累,上次好不容易给她解释了什么是Restful,这不,麻烦又来了…

    技术zhai

扫码关注云+社区

领取腾讯云代金券