前言
在一个完整的的分布式系统中,日志平台必不可缺,它是我们排查问题,观测业务处理状况,系统运行状况的重要途径,实际项目中一般分为自建和云上,以下对两种选型做一个对比。
选型
自建平台
场景:
自定义需求:需要高度自定义的日志管理和分析功能。
数据隐私和安全:有严格的数据隐私和安全要求,不希望或不允许日志数据托管在第三方云服务上。
成本控制:如果本身具备充足的硬件资源,对于大规模日志数据处理,有时自建系统的长期成本更低。
复杂部署环境:需要在复杂的混合云或多云环境中部署,能够灵活适应各种环境。
开源偏好:偏好使用开源服务,想实现完全控制和管理。
优缺点
优点:
高度可定制化。
数据完全自主可控。
无需依赖外部服务,具备较高的灵活性。
缺点:
初期投入高,需要部署和维护。
需要专业团队进行管理和优化。
扩展性和弹性较难实现,需要自己管理硬件资源。
常见组合
ELK:ES, LogStash, Kibana
EFK:使用轻量级FileBeat代替内存占用比较大的LogStash
Loki + Prometheus + Grafana(新一代更轻量级)
云平台
场景:
快速部署:简单快速,买好资源,按文档接入系统即可使用。
高可用和弹性:追求高可用和弹性扩展,能够稳定应对突发流量和大规模日志数据。
运营和维护简单:无需投入大量人力和时间在平台运维和管理上。
成本管理:按需付费,可以根据实际使用量进行成本控制,避免高昂的前期投入。
集成服务:需要与其他云服务(如监控、告警、分析等)无缝集成,提升整体效率。
优缺点
优点:
部署和使用简单快捷。
具备弹性扩展和高可用性。
集成其他云服务,提升整体效率。
无需专门团队进行运维,降低人力成本。
缺点:
数据隐私和安全性可能会受限于第三方服务。
定制化程度相对较低。
常见服务商
阿里云SLS, 腾讯云,华为云也有对应的服务,一般根据公司技术栈来选择。
总结
通过以上对比,我们可以发现日志平台的选型需要针对具体的业务场景来做选择,在当下以微服务架构流行的云原生时代,在满足业务需求的情况下,个人建议尽量使用云服务以提高效率和稳定性,以使用阿里云SLS的经验来看,如果不是大流量业务,使用成本很低。就算某些场景相对于自建会多出一些,只要不是太多,也是值得的,服务稳定性和高可用性相比自建有更多保障。
评论区