专栏首页纯洁的微笑学习Spring Boot 2.0 和大数据治理课程,送51CTO定制T恤!

学习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)

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微服务设计指南

    微服务是当今软件工程师的一个热门话题。让我们了解如何使用微服务架构风格构建真正模块化、业务敏捷的IT系统。

    纯洁的微笑
  • 小型系统如何“微服务”开发

    https://www.cnblogs.com/wcd144140/p/9782823.html

    纯洁的微笑
  • 微服务架构之「 服务注册 」

    微服务架构是一个庞大复杂的工程,为什么说它庞大复杂呢?因为想要做好微服务,就必须先要建设好微服务所需的一系列基础设施和组件。我在前面的文章《架构设计之「 微服务...

    纯洁的微笑
  • 为什么有的机器学习应用公司必将失败?

    告诉大家一个秘密:当人们说起“ 机器学习 ”时,听起来好像只是在谈论一门学科,但其实是两门。如果企业不了解其中的差异,那么就可能招惹来满世界的麻烦。

    AI科技大本营
  • 为什么有的机器学习应用公司必将失败?

    用户1737318
  • Python 机器学习经典实例

    在如今这个处处以数据驱动的世界中,机器学习正变得越来越大众化。它已经被广泛地应用于不同领域,如搜索引擎、机器人、无人驾驶汽车等。

    用户1737318
  • 微服务之初了解(一)

    在使用微服务的时候,内聚性是一个很重要的概念。Robert C. Martion对 单一职责原则 有个论述是: 把相同原因而变化的东西聚合到一起,而把不同原因而...

    Vincent-yuan
  • Win10系统配置Python3.6+OpenGL环境详细步骤

    1、首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的文件 ? 2、解压缩,如下图所示...

    Python小屋屋主
  • Jmeter系列之接口断言

    上一篇:Jmeter系列之接口依赖,主要介绍接口依赖的三种处理方式:JSON Extractor、正则表达式、边界提取器(Boundary Extractor)...

    ITester软件测试小栈
  • 使命必达: 深入剖析WCF的可靠会话[协议篇](下)

    在《上篇》中,我们认识了从序列创建到终止过程中消息交换的大致流程。接下来,我们进一步将关注点聚焦到单个小消息上,看看在整个基于序列的上下文中,不同类型的消息具有...

    蒋金楠

扫码关注云+社区

领取腾讯云代金券