分布式系统的架构问题

原文作者:Munish Gupta

原文地址:https://dzone.com/articles/architecture-concerns-for-distributed-systems

应用架构不断发展,正在从一大块巨石的时代演变为更加分布式的基于设计的模型。这一变化的关键发起者是云计算的出现以及它在处理日益增长的规模方面所具有的能力。当一个企业主要通过构建和管理单一应用程序的模型来吸收(人员和流程)时,在构建新的分布式系统的过程中就需要重新学习一些旧的设计技术并采用一些新的模式。作为其中的一部分,我将详细介绍一些在迁移到分布式应用模型时变得突出的架构问题。

  • 调度/编排管理:从管理数百个实例到管理上千个实例,需要能以无缝的方式跨主机调度或编排服务实例和服务容器。为了处理日益增加的规模,工作量调度/编排是分布式系统的关键组成部分。像DockerSwarm、Kubernetes、Mesos、Marathon等产品都是这个领域的领先产品
  • 服务发现/注册:由于基于容器的服务的上下波动,需要有一个登记/注销服务的机制和一个在运行时发现服务端点的机制。像Consul, Zookeeper, etcd, Confd和Eureka都是这个领域的领先产品。这些产品中的大多数支持跨服务实例的传入流量的负载平衡
  • 系统状态管理/集群管理:随着集群的增长,需要管理集群的系统状态。每个服务的SRV是什么,有多少实例,在什么主机上,什么是负载,等等?为了管理这一点,需要集群管理来跟踪系统状态。像Docker Swarm Agents, Kubernetes Nodes/Masters, Mesos Slaves, Containership等产品都是这个领域的领先产品
  • 数据存储:容器存储是暂时的,这意味着需要在容器生命周期之外保留的任何数据都需要在外部保存。像Docker Volume Plugin, Flocker, Kubernetes Persistent volumes等项目是一些关键产品
  • 网络:对于每个运行不同进程的容器, 都需要进行管理,有时还要隔离哪个容器服务可以访问别的服务。多个容器可在同一个主机上运行,因此共享网络的资源可能需要为容器隔离创建安全组。同样,容器可能需要发现跨主机托管的服务,并且需要一个简单的模型来访问这些服务。像Flannel, Weaveworks, and Calico都是这一领域的产品
  • 监控/审计/日志记录:随着数千个容器的运行,监视/审计/记录每一个容器成为了一个棘手的问题。需要从每个容器中提取数据/日志,以便进行分析。像Loggly,Fluentd,log entries,datadog和ELK stack等产品都是这个领域的关键产品。

除此之外,构建分布式应用时需要考虑的其他因素还有Container OS和Container Runtime。其他因素,如应用程序运行时间,部署管理,DNS,安全性,SSO / OAuth,API网关,断路器,性能/可扩展性模式等仍然需要处理。

在您的经验中,还有其他什么是分布式应用程序的关键架构问题吗?如果有,请分享。

本文的版权归 bill_bisheng 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏EAWorld

建设DevOps统一运维监控平台,全面的系统监控你做好了吗?

前言 随着Devops、云计算、微服务、容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器、虚拟机、物理...

3894
来自专栏IT大咖说

向Kubernetes容器云平台迁移,你必须知道的9件事

内容来源:2017 年 11 月 25 日,当当网数字业务事业部技术总监李志伟在“Kubernetes Meetup | 北京站”进行《Kubernetes容器...

903
来自专栏北京马哥教育

性能调优概述,这是一篇最通俗易懂性能调优的总结!

精彩早知道 作者概述 什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) ...

3985
来自专栏PingCAP的专栏

PingCAP 开源 TiDB 自动化部署运维工具 TiDB Operator

TiDB Operator 是 TiDB 在 Kubernetes 平台上的自动化部署运维工具。目前,TiDB Operator 已正式开源(pingcap/t...

1484
来自专栏PingCAP的专栏

刘寅:TiDB 工具链和生态

大家下午好,我叫刘寅。在 PingCAP 主要负责 TiDB 商业工具产品开发,也在做公司 SRE 方面的事情。今天下午我分享的主题是介绍下 TiDB 的周边工...

60210
来自专栏小怪聊职场

架构|如何架构一个合适的企业API网关(1)API网关的介绍、应用场景、作用及常用方案

2498

容器服务:来自外部的问好!

容器服务正在改变应用程序的部署方式和管理方式。但容器服务究竟是什么?它与其他传送平台方式有何不同?

1786

分布式系统的架构问题

原文地址:https://dzone.com/articles/architecture-concerns-for-distributed-systems

18110

Docker平台和Moby项目添加Kubernetes

Docker平台正在集成对Kubernetes的支持,以便Docker客户和开发人员可以选择使用Kubernetes和Swarm来编排容器工作负载。点击注册测试...

1738

实用微服务

如今,微服务是软件体系结构领域中最受欢迎的热门词汇之一。有许多材料都在介绍微服务的基本原理以及它的好处,但教你如何在企业场景中使用微服务的资料就十分少了。

1114

扫码关注云+社区