学习Spring Boot 2.0 和大数据治理课程,送51CTO定制T恤!

随着微服务架构的落地,人们发现微服务架构虽然改进了开发模式,但同时也引入了一些问题,在这所有的问题中,最重要的也是马上要面临的一个问题就是数据的问题。在微服务架构中我们强调彻底的组件化和服务化,每个微服务都可以独立的部署和投产,其实也就意味着很多的微服务有自己独立的数据库。

整个业务数据被分散在各个子服务之后会带来两个最明显的问题:

1、业务管理系统对数据完整的查询,比如分页查询、多条件查询等,数据被割裂后如何来整合?

2、如何对数据进一步的分析挖掘?这些需求可能需要分析全量的数据,并且在分析时不能影响到当前业务。

从技术方案来讲,我们一般有两种选择来处理这些问题,第一种是在线处理数据,第二种是离线处理数据。

在线处理数据的方案就是按照微服务的标准接口来进行,后端需要哪个系统的数据就去调用某个微服务提供的接口来获取。后端管理平台根据前端的需求去不同的微服务系统去获取数据,然后将返回的数据进行处理后将数据返回。

这种方案有两个弊端:1)一方面微服务数据方需要提供数据接口,一方面数据的使用者需要去写调用方法,并且调用者需要编写大量的代码进行数据处理;2)在对各个微服务进行调取数据时会影响微服务的正常业务处理性能。

离线处理数据方案,就是将业务数据准实时的同步到另外一个数据库中,在同步的过程中进行数据整合处理,以满足业务方对数据的需求,数据同步过来后,再提供另外一个服务接口专业负责对外输出数据信息。

这种方案有两个特点:

1)数据同步方案是关键,技术选型有很多,如何选择切合公司业务的技术方案;

2)离线数据处理对微服务正常业务处理没有影响。

在我以往的工作中两种方案都实施过,个人更倾向于使用第二种方案。

当然如果我们对微服务架构、Spring Boot 、MongoDB 不熟悉的话,可能需要走很多的弯路。错误的技术方案会对后期的微服务落地带来非常大的困扰,增加额外的开发工作量,我自己深有体会,合适的技术方案可以节省60%以上的工作量。

了解 Spring Boot 的同学都知道,Spring Boot 是 Java 领域最优秀的微服务架构落地技术,没有之一。MongoDB 称之为对开发人员最友好的数据库,在大量数据查询下有着良好的性能表现,同时 MongoDB 也是最像关系数据库的 Nosql 数据库,非常方便掌握使用。利用 Spring Boot 2.0、MongoDB 来解决微服务架构下数据治理的问题是最佳选择之一。

当然如果我们对微服务架构、Spring Boot 、MongoDB 不熟悉的话,可能需要走很多的弯路。错误的技术方案会对后期的微服务落地带来非常大的困扰,增加额外的开发工作量,我自己深有体会,合适的技术方案可以节省60%以上的工作量。

为此我特意写了一个专栏《微服务技术架构和大数据治理实战》,讲解微服务架构和大数据治理的技术落地。将工作中实践过最具实战代表性的一些内容整理出来,以 51CTO 专栏的形式来展现。课程内容将站在全局的角度去看待微服务实践和数据分析,讲解微服务架构、Spring Boot、MongoDB、同步方案、数据分析等内容,帮助广大的技术朋友们少走弯路,掌握微服务和数据分析的技术。

原文发布于微信公众号 - 纯洁的微笑(keeppuresmile)

原文发表时间:2018-07-11

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

解析微服务架构(二):融入微服务的企业集成架构

上一篇文章介绍了微服务架构的起源、定义、通用特性、常见概念误区、微服务架构与SOA架构比较、微服务架构收益以及企业引入微服务架构的策略。 本文将介绍融入微服务的...

32660
来自专栏逸鹏说道

解析微服务架构(一):什么是微服务

解析微服务架构系列文章将分几篇描述微服务的定义、特点、应用场景、企业集成架构的演进以及微服务转型思路和技术决策考虑等内容,并以IBM技术为例介绍如何实现微服务架...

33840
来自专栏IT笔记

微服务架构

微服务架构 单体架构能够很好地应对简单的业务系统。但是随着业务的扩张,功能的不断增加,单体架构面临着越来越多的挑战: ? 维护成本增加 团队越来越大,相应的...

42770
来自专栏腾讯大讲堂的专栏

数据驱动、精细闭环的运维服务

游戏业务运维工作很容易由于各项事务繁杂,陷入到只关心手头上的工作,“云梯”服务化主要是让运维能更好站在业务和玩家的角度来思考支撑工作如何更好服务于业务。通过数据...

26760
来自专栏微信公众号:Java团长

Java程序员该如何突破瓶颈!

源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。

10030
来自专栏编程坑太多

『高级篇』docker容器来说什么是微服务(三)

14140
来自专栏CSDN技术头条

强烈推荐!大数据领域的顶级开源工具大集合

随着大数据与预测分析的成熟,开源作为底层技术授权解决方案的最大贡献者的优势越来越明显。如今,从小型初创企业到行业巨头,各种规模的供应商都在使用开源来处理大数据和...

19680
来自专栏开源优测

软件测试基本功之ISO9126质量模型

简介 ISO/IEC 9126 (1991) :软件产品评估—质量特性及其使用指南纲要,就是为支援此种需求而发展出来的。在此标准中,定义了六种质量特性,并且描述...

22570
来自专栏Rainbond开源「容器云平台」

InfoQ首发报道:Rainbond,国内首个开源的无服务器PaaS

22040
来自专栏EAWorld

基于微服务架构的技术实践(附PPT)

? 大家好,今天分享的是“基于微服务架构的技术实践”,标题有点土,希望内容对大家有用。这个是我上周在CSDN北京沙龙上分享的内容的改版,加入了一些设计部分,...

1.4K90

扫码关注云+社区

领取腾讯云代金券