微服务与跨库查询的一些理解

本文介绍了微服务的概念及其发展历程,从单体架构到SOA再到微服务。重点探讨了微服务架构中跨库查询的挑战,包括数据库独立导致的事务复杂性和效率下降,并提出了四种优化思路:字段冗余、表同步、数据字典表和服务层数据组装。总结了微服务在数据库设计和分割上的关键点,以提升跨库查询效率。

引言

银行面试内容中出现了微服务相关的知识,经过查询后整理如下

1. 微服务是什么?

  微服务描述的对象多为互联网公司的的具体业务,淘宝中的订单服务,支付服务,物流服务为相互之间独立,彼此之间通过轻量级的通信机制进行沟通与联系。

  发展历程是通过:单体架构->SOA服务化->微服务:

单体架构与SOA服务化类似于面向对象的设计的原则中的单一职责原则的由来:

   其中单体架构为一个架构中模块功能较多,多个功能模块集中到一起,牵一发而动全身,一种功能的修改可能会影响到整个对外的功能不能正常运行。此种开发架构适用于小型项目,当企业规模增大就需要各个模块之间分开,方便后续扩展以及优化。

  SOA(Service Oriented Architecture)"面向服务的架构” ,是一种设计方法:即为多个服务之间相互依赖最终完成系列的功能。而每个服务以独立的形式存在于操作系统的进程之中。为松散耦合的结构,各个模块之间耦合程度降到最低,扩展性更好,

微服务架构与SOA架构类似,是在SOA上的升级:业务上彻底的组件化和服务化,原有的单个业务系统会拆分为多个独立开发、设计、运行的小应用。80%的SOA服务架构思想+100%组件化架构思想+80%的领域建模思想。

优点:功能模块独立,开发语言不限制,数据库独立,容错性更强,可通过自动检测机制对持续出错的功能隔离,在服务恢复的时候重新联通。

缺点:数据库独立,当一个用户请求调用不同的数据库时,跨库事务会成为复杂的内容,每个节点可能同时扮演着生产者与消费者的身份,形成了一个复杂的调用关系网,会降低功能执行效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值