• 架构模式: 单主机上部署服务的单个实例


    架构模式: 单主机上部署服务的单个实例

    上下文

    您已应用微服务架构模式并将系统架构为一组服务。每个服务都部署为一组服务实例,以实现吞吐量和可用性。

    问题

    如何打包和部署服务?

    要点

    • 服务使用各种语言,框架和框架版本
    • 编写每个服务包含多个服务实例
    • 用于吞吐量和可用性服务必须是可独立部署的
    • 可扩展的服务实例需要彼此隔离
    • 您需要能够快速构建和部署服务
    • 您需要能够约束服务所消耗的资源(CPU和内存)
    • 您需要监视每个服务实例的行为
    • 您希望部署可靠
    • 您必须尽可能经济高效地部署应用程序

    解决方案

    在自己的主机上部署每个服务实例

    例子

    结果上下文

    这种方法的好处包括:

    • 服务实例彼此隔离
    • 不存在冲突的资源需求或依赖版本的可能性
    • 服务实例最多只能消耗单个主机的资源
    • 它可以直接监视,管理和重新部署每个服务实例

    这种方法的缺点包括:

    • 与每个主机的多个服务相比,资源利用率可能低,因为主机数量更多

    相关的模式

    • 每个主机的多个服务实例模式是一种替代解决方案
    • 每个VM模式的服务实例是此模式的细化
    • 每个容器的服务实例模式是此模式的细化
    • 无服务器部署模式是另一种解决方案。
  • 相关阅读:
    Java多线程-新特性-有返回值的线程
    Java多线程-新特性-线程池
    java多线程-慎重使用volatile关键字
    Java多线程-线程的调度(守护线程)
    Java多线程-线程的调度(合并)
    Java多线程-线程的调度(让步)
    Java多线程-线程的调度(优先级)
    Java多线程-线程的调度(休眠)
    Java多线程-线程的交互
    let 命令 与 var的区别
  • 原文地址:https://www.cnblogs.com/paxlyf/p/11288913.html
Copyright © 2020-2023  润新知