Tag: 云计算

Docker, 虚拟机 (VM) 和 Kubernetes (K8s)

Docker 与虚拟机(VMs) 概述:Docker和虚拟机(VMs)都用于在隔离的环境中部署和运行应用程序,但它们的实现方式不同。 Docker(容器) 轻量级:容器共享主机的操作系统内核,因此比虚拟机更轻便,启动速度更快。 隔离:Docker 提供进程级别的隔离,意味着多个容器可以在同一个操作系统实例上运行而不会相互干扰。 高效性:由于容器共享操作系统,只需打包应用程序及其依赖项,因此使用的资源更少。 虚拟机(VMs) 重量级:每个虚拟机包含一个完整的操作系统实例和虚拟化硬件,因此消耗更多的资源。 隔离:虚拟机提供完全的隔离,每个虚拟机拥有自己的操作系统,这样更安全但效率较低。 使用场景:虚拟机适用于在同一主机上运行多种操作系统类型,是需要完全操作系统级别隔离的传统应用程序的理想选择。 总结:Docker 容器更高效且部署更快,而虚拟机提供更强的隔离,更适合多样化的操作系统需求。 什么是 Kubernetes(K8s)? 概述:Kubernetes(K8s)是一个开源平台,用于自动化容器化应用程序的部署、扩展和管理。 主要特性: 编排:Kubernetes 管理跨多个主机的容器集群,处理如扩展、网络和容错等任务。 自愈能力:它自动重启失败的容器,并在节点失败时重新调度,确保高可用性。 可扩展性:K8s 可以根据需求自动扩展应用程序,添加或移除容器。 使用场景:Kubernetes 非常适合在大规模上管理复杂的分布式应用程序,是微服务架构的热门选择。 简而言之,这篇文章展示了 Docker、虚拟机和 Kubernetes 的技术差异和实际应用,这是系统设计和云原生环境中至关重要的内容。 …

通过AWS Lambda / API Gateway 架设负载均衡API服务器 (Load Balancer)

AWS Lambda AWS Lambda是无服务Serverless的领导者, 同类产品有 CloudFlare 的 Worker, 微软的 Azure Function. 我们用Lambda可以省去维护升级服务器的费用的时间. 并且Serverless的本身都是非常可扩展(水平)的. 负载均衡 Load Balancer 负载均衡Load Balancer服务器的目的是把流量转发(Route)到较空闲的服务器的, 以避免单服务器过载和单点错误(Single Point of Failure). 和CloudFlare Worker一样, 我们可以用AWS Lambda做一个Serverless的负载均衡服务器. 基于AWS Lambda的负载均衡服务器 LB采用的均衡算法可以是基于DNS, …

通过CloudFlare Worker搭建负载均衡服务器

Cloudflare Worker 是和 Amazon Lambda, Google Function 类似的无服务器 Serverless 技术. 我们可以写一些代码(JS)部署到 CloudFlare 的网络节点中. 这项技术的好处是我们并不需要去维护服务器(减少运维成本), 而且通过Serverless技术很容易就可以把程序跑在成千上万的节点上 (较强的可扩展性). 负载均衡服务器(Load Balancer)用于把用户的请求重新分配(Route)到提供真正服务的源服务器(Worker). 我们可以通过负载均衡来实现水平扩展(Horizontal Scaling). 当然如果负载均衡只有一台服务器, 也是会有单点故障的 (Single Point of Failure). 如果通过CloudFlare Worker来搭建负载均衡, 这样我们的负载均衡服务器会被自动部署到成千上万的CloudFlare节点中 …