如何通过 Serverless 技术降低微服务应用资源成本?
来源 | Serverless 公众号 前言 在大型分布式 IT 架构领域,微服务是一项必不可少的技术。从本质上来讲,微服务是一种架构风格,将一个大型的系统拆分为多个拥有独立生命周期的应用,应用之间采用轻量级的通信机制进行通信。这些应用都是围绕具体业务进行构建,可以独立部署、独立迭代,也可能根据业务负载独立进行水平扩展。 微服务思想以及相关的技术为 IT 架构的发展带来了一系列深刻的变革: 易于开发和维护: 一个应用只会关注一组特定的业务功能,通过服务拆分,能减少应用之间的耦合度,让开发和维护更加简单。 技术栈不受限制: 在微服务架构中,可以结合项目业务及团队的特点,合理的选择技术栈。 加快系统演进速度: 每一个应用都可以独立的进行版本更新,通过灰度发布等技术手段能确保发布过程中整个系统稳定运行。 突破性能瓶颈: 每个应用都能独立的水平伸缩,使系统性能可以根据计算资源的增加而得到线性的扩展。 微服务的挑战 世上没有免费的午餐,微服务技术让 IT 系统变得更敏捷、更健壮、更高性能的同时,也带来了架构复杂度的提升。对于开发者而言,要想更好的驾驭微服务架构,需要解决持续集成、服务发现、应用通信、配置管理、流量防护等一系列难题。幸运的是,针对这些普遍存在的难题,业界涌现了一系列优秀的开源技术组件和工具,让开发者可以更轻松的构建微服务应用。像 Spring Cloud 和 Dubbo