神话还是现实?Docker 和 Kubernetes 架构
任何 Docker 容器使其日记可会见的独一要领是将它们写入容器中运行的根历程的尺度输出或尺度错误装备(STDOUT 或 STDERR)。微处事的开拓职员并不真正体谅日记数据接下来会产生什么,只必要担保它们应该在须要时可用,而且最好包括已往某个时候的记录。Kubernetes 和支持这个生态的工程师认真这统统的实现。 在 官方文档 中,你可以找处处理赏罚日记的根基(也是一个好的)计策的描写,这将有助于你选择用于聚合和存储大量文本数据的处事。 在日记记录体系的保举处事中,沟通的文档提到了用于网络数据的 fluentd (作为署理在集群的每个节点上启动)和存储和索引数据的 Elasticsearch 。纵然你也许差异意这种办理方案的服从,但它是靠得住且易于行使的,以是我以为这至少是一个好的开始。 Elasticsearch 是一个资源麋集型办理方案,可是它可以很好地扩展,而且有现成的 Docker 镜像来运行单个节点或所需巨细的集群。 追踪体系 尽量你的代码尽也许美满,但失败确实会产生,然后你想在出产情形中细心研究它们,并实行领略“在我的当地呆板上统统事变都是正常的呀,此刻到底是那边出了什么题目呢?”。数据库查询速率慢、缓存不妥、磁盘速率慢或与外部资源的毗连速率慢、生态体系中的事宜、瓶颈和局限不敷的计较处事,这些都是你必需跟踪和预计在现实负载下执行代码所耗费的时刻的缘故起因。 Opentracing 和 Zipkin 可以支持在大大都当代编程说话中完成这一使命,而且在 埋点(instrumenting)代码之后不会增进任何特另外承担。虽然,全部网络的数据都应该存储在一个吻合的处所,被 组件 之一所行使。 在代码中埋点并通过全部处事、动静行列、数据库等转发 “跟踪标识”(Trace Id)时带来的伟大性由上述开拓尺度和处事模板办理。后者还认真担保要领的同等性。 监控和报警 Prometheus 已经成为当代体系中究竟上的监控和报警尺度,更重要的是,它在 Kubernetes 中险些 开箱即用 。你可以参考 官方 Kubernetes 文档 ,相识更多有关监控和报警的信息。 监控是必需安装在聚集内的少数帮助体系之一。集群是一个受监控的实体。可是监控体系的监控(请包涵一再)只能从外部执行(譬喻,从沟通的 “预出产”(Staging)情形)。在这种环境下,交错检点对付任何漫衍式情形来说都是一个利便的办理方案,不会使高度同一的生态体系的架构伟大化。 整个监控范畴分为三个完全逻辑断绝的级别。以下是我以为在每个级别跟踪点的最重要的例子:
至于每个级此外报警关照,我提议你行使无数外部处事之一,这些处事可以通过电子邮件、短信发送关照或拨打手机号码。我还要提到另一个体系 — OpsGenie ,它可以 与 Prometheus 的报警打点器细麋集成 。 OpsGenie 是一种机动的报警器材,有助于处理赏罚妨碍进级陈诉、全天候事变、关照渠道选择等。在团队之间分发报警信息也很轻易。譬喻,差异级此外监控应该向差异的团队/部分发送关照:物理资源 —> 基本办法 + Devops,集群 —> Devops,应用 — > 向相干团队发送关照。 API 网关和单点登录 为了处理赏罚授权、身份验证、用户注册(外部用户——公司的客户)和其他范例的会见节制等使命,你必要一个高度靠得住的处事,它可以与您的 API 网关保持机动的集成。行使与“身份处事”沟通的办理方案没有害处,可是您也许但愿将这两种资源分隔,以实现差异级此外可用性和靠得住性。 处事间集成不该该很伟大,你的处事不该该担忧用户的授权和认证。相反,架构和生态体系应该有一个署理处事来处理赏罚全部的通讯和 HTTP 流量。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |