微服务到底该怎么样部署呢?

微服务应用程序可以以多种方式运行,每种方式都有不同的权衡和成本结构。适用于跨越几个服务的小型应用程序可能不足以用于大型系统。

从简单到复杂,以下是运行微服务的五种方式:

  • 单机多进程:购买或租用服务器并将微服务作为进程运行。
  • 多台机器,多进程:显而易见的下一步是添加更多服务器并分配负载,提供更高的可扩展性和可用性。
  • 容器:将微服务封装在容器中,可以更轻松地与其他服务一起部署和运行。这也是迈向 Kubernetes 的第一步。
  • 编排器:Kubernetes 或 Nomad 等编排器是完整的平台,旨在同时运行数千个容器。
  • 无服务器:无服务器允许我们忘记进程、容器和服务器,并直接在云中运行代码。

方案一:单机多进程

在最基本的层面上,我们可以在一台机器上将微服务应用程序作为多个进程运行。每个服务侦听不同的端口并通过环回接口进行通信。

微服务部署的最基本形式使用单机。应用程序是一组加上负载平衡的进程。

这种简单的方法有一些明显的好处:

  • 轻量级:没有开销,因为它只是在服务器上运行的进程。
  • 方便:这是体验微服务的好方法,无需其他工具的学习曲线。
  • 轻松排除故障:一切都在同一个地方,因此如果您有持续交付,那么在出现问题时发现问题或恢复到工作配置非常简单。
  • 固定计费:我们知道我们每个月必须支付多少。

DIY 方法最适合只有少量微服务的小型应用程序。除此之外,它还不够,因为:

  • 没有可扩展性:一旦你最大化了服务器的资源,就是这样。
  • 单点故障:如果服务器宕机,应用程序也会随之宕机。
  • 脆弱的部署:我们需要自定义部署和监控脚本来确保服务安装和运行正确。
  • 无资源限制:任何微服务进程都可以消耗任意数量的 CPU 或内存,从而可能使其他服务处于饥饿状态并使应用程序处于降级状态。
  • 此选项的持续集成(CI) 将遵循相同的模式:在 CI管道中[url=

https://semaphoreci.com/blog/build-stage]构建[/url]

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值