ITPub博客

首页 > 大数据 > 数据分析 > 简要剖析:可扩展的微服务架构

简要剖析:可扩展的微服务架构

翻译 数据分析 作者:VoltDB_China 时间:2019-01-21 13:20:12 0 删除 编辑

应用程序状态管理和数据驱动的决策


随着应用程序和系统的复杂性不断增加,处理这些问题的团队的规模也不断扩大。


在这种情况下,将系统作为整体系统会阻止开发团队快速前进。


这就需要一种方法,使得独立的功能团队能将对其他团队的依赖降到最小,并完整地提供所需的功能。


人们从一开始就试图实现这个目标:从面向对象的编程,到面向服务的体系结构,到企业服务总线,最后到现在的微服务。


真实世界的例子问题


微服务的前提是与功能相关的所有内容都应以自给自足的方式存在


想象一下单片应用程序电子商务应用程序(尽管是超简化范围),它应该具有以下模块:

 

这些功能中的每一个都可能具有不同的利用率级别,并且将整个应用程序扩展到最大级别将消耗与利用率无关的资源。


一个人每次会话登录一次,可能会进行多次搜索,但不经常更新他们的购物车,然后最终退出。又或者,用户会在结账后退出。


在这种情况下,搜索功能和库存检查功能将比其他功能使用得多。


可以将应用程序分解为自给自足的服务,即微服务,然后根据功能上的负载来缩放适当的服务。


但是,完全自给自足意味着每个服务都有自己的端到端完整技术堆栈,包括数据库。


如果数据在多个服务之间是通用的,则数据库层将从微服务中解脱出来,有利于创建公共共享数据层。


这允许Saga模式的一致实现,使得参与的服务可以互发信号并在相同的数据库上操作。


这下问题该解决了吧?


快了,但还没解决。


以下是对高性能的进一步要求:


电信:

  • vEPC或5G核心

  • IMS

  • OSS / BSS

  • 呼叫欺诈预防


金融服务:

  • 信用卡欺诈预防

  • 投资组合风险管理

  • 实时滑点计算


电子商务

  • 实时库存管理

  • 实时订单管理

  • 搜索与库存水平一致


在这些用例中,数据处理通常具有不到5毫秒的延迟预算。


这也是分离数据和业务逻辑的流行概念开始需要对两种业务逻辑进行一些改进的地方


1. 应用程序状态控制业务逻辑

应用程序逻辑保留在应用程序中,即微服务和


2. 数据驱动的决策制定业务逻辑

数据驱动的业务逻辑保持接近数据,即在数据库中。


这种分离允许两个层根据各层的性能需求独立扩展,同时不会产生不一致的/离散的数据集  或 为保证各层的弹性而基础设施足迹人为膨胀地拼接在一起的多层结构。


VoltDB的能用之处在哪里?


VoltDB是一个分布式内存数据库,旨在为快速移动的流数据提供实时智能决策。


借助存储过程框架和内存数据存储引擎,VoltDB以可扩展的方式、最低延迟驱动大多数复杂的业务逻辑,即使在虚拟化环境(如VM和容器)中也是如此。


所有这些都不会影响ACID对企业级数据库的预期保证。


如果您正处于将应用程序迁移到微服务架构的过程中,请看看我们如何通过跨功能一致性来帮助满足您的数据处理需求吧。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69903219/viewspace-2564276/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-01-03

  • 博文量
    9
  • 访问量
    3147