主要观点:科技行业正转向更环保的实践,大型公司在引领,但采用复杂分布式架构有时会与可持续性目标相悖,微服务比传统单体架构更消耗资源,需找到使微服务更节能的方法。
关键信息:
- 谷歌、亚马逊、Meta 等公司引领行业向绿色实践转变。
- 微服务比单体架构更消耗 CPU、内存和网络资源,如 Journal of Object Technology 和 Aalborg University 的研究表明微服务比单体架构多消耗约 20%的 CPU 和 44%的能源。
- 可通过设计和运营策略降低微服务能耗,包括定义有效服务边界(域封装和选择合适服务粒度)、基于位置的调度、优化资源扩展(突发、非关键、延迟敏感情况)和工作负载整合等。
重要细节: - 域封装可减少服务间调用,降低网络流量和处理开销,如将单个域封装在一个服务中可减少跨服务的调用次数,避免数据一致性维护的额外开销。
- 服务粒度方面,业务域紧密相关可合并为一个服务以减少通信开销,逻辑独立可分离为多个服务以实现灵活部署。
- 基于位置的调度可将延迟敏感的微服务部署在靠近用户处,批量处理的微服务部署在碳高效区域。
- 资源扩展方面,突发流量可通过队列机制避免快速过度扩展,非关键任务可分配较少资源,延迟敏感服务可适当过度配置资源。
- 工作负载整合可通过容器将多个服务部署在同一节点,提高资源利用率,减少能源消耗,非关键服务可采用背景调度进一步优化资源使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。