首页> 外文会议>IEEE International Conference on Software Quality, Reliability and Security Companion >Highly-Available Applications on Unreliable Infrastructure: Microservice Architectures in Practice
【24h】

Highly-Available Applications on Unreliable Infrastructure: Microservice Architectures in Practice

机译:不可靠的基础架构上的高可用应用程序:实践中的微服务架构

获取原文
获取外文期刊封面目录资料

摘要

In contrast to applications relying on specialized and expensive highly-available infrastructure, the basic approach of microservice architectures to achieve fault tolerance – and finally high availability – is to modularize the software system into small, self-contained services that are connected via implementation-independent interfaces. Microservices and all dependencies are deployed into self-contained environments called containers that are executed as multiple redundant instances. If a service fails, other instances will often still work and take over. Due to the possibility of failing infrastructure, these services have to be deployed on several physical systems. This horizontal scaling of redundant service instances can also be used for load-balancing. Decoupling the service communication using asynchronous message queues can increase fault tolerance, too. The Deutsche Bahn AG (German railway company) uses as system called EPA for seat reservations for inter-urban rail services. Despite its high availability, the EPA system in its current state has several disadvantages such as high operational cost, need for special hardware, technological dependencies, and expensive and time-consuming updates. With the help of a prototype, we evaluate the general properties of a microservice architecture and its dependability with reference to the legacy system. We focus on requirements for an equivalent microservice-based system and the migration process; services and data, containerization, communication via message queues; and achieving similar fault tolerance and high availability with the help of replication inside the resulting architecture.
机译:与依赖于专用且昂贵的高可用性基础架构的应用程序相比,微服务架构实现容错以及最终实现高可用性的基本方法是将软件系统模块化为小型,独立的服务,这些服务通过与实现无关的方式进行连接接口。微服务和所有依赖项都部署到称为容器的自包含环境中,这些环境作为多个冗余实例执行。如果服务失败,其他实例通常仍然可以工作并接管。由于基础架构可能会发生故障,因此必须在多个物理系统上部署这些服务。冗余服务实例的这种水平扩展也可以用于负载平衡。使用异步消息队列取消服务通信的耦合也可以提高容错能力。德国铁路公司(Deutsche Bahn AG)使用称为EPA的系统来预订城市间铁路服务的座位。尽管EPA系统具有很高的可用性,但它目前的状态仍具有一些缺点,例如较高的运行成本,对特殊硬件的需求,技术依赖性以及昂贵且耗时的更新。借助原型,我们参考传统系统评估微服务架构的一般属性及其可靠性。我们专注于对等价的基于微服务的系统和迁移过程的要求;服务和数据,容器化,通过消息队列进行通信;并通过在所得架构中进行复制来实现类似的容错能力和高可用性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号