首页 > 其他分享 >如何进行技术方案选型?

如何进行技术方案选型?

时间:2022-11-13 17:37:48浏览次数:52  
标签:方案 技术 如何 选型 loki 日志 es

背景

我们的业务服务,已经全部部署在kubernetes集群中,全业务线通过fluent-bit直接写入es进行日志收集,单业务线日志规模为1TB/天, 这样带来3个问题:

1. 高峰期出现丢日志情况(采集组件直写es,并发太大导致es写入失败)

2. 日志集群规模大,成本非常高。

3. 历史数据仅能存储3天,无法长期保留。



 目标

为了解决上述存在的3个问题,我们进行了日志专项探讨,期望通过引入新技术,新方案来解决存在的问题。在保障日志不丢的同时,满足业务侧对日志查询的需求,降低业务成本。


选型

预选方案:

fluent-bit->kafka->lambda-es (增加kafka队列)

fluent-bit->s3->sqs->lambda-es (使用s3+sqs队列,低成本)

promtail->loki->s3->grafana (低成本)


下面就如何对loki方案进行选型验证,进行详细描述。



拆解分析:

业务侧需求

  • 需要保留7天的日志。可按照服务级别重要程度进行存储。(基本功能)
  • 在分钟级别,查询到当天指定字段的日志,实现问题定位。(效率)
  • 能在平台业务,通过简单的操作,即可完成日志查询。(易用)


技术方案对比


Loki

Es


社区活跃度

***

*****

  • 有多少人在用
  • 是否在持续更新

文档全面性

***

*****


技术语言

go

java


性能

***

*****


成本

***

*****


生态

*****

*****

grafana+loki可观测性更全面

功能

****

*****


优势

成本低

全文索引


可维护性

*****

****

loki 横向扩容能力强

成熟度

***

*****

es方案更加成熟

用户体验

****

***





方案调研

  • 满足技术选型目标吗?
  • 满足范围、时间和成本的约束吗?
  • 成功案例
  • 运维复杂度,学习成本
  • 有什么样的风险?风险是不是可控?
  • 优缺点是什么?



验证

在实际环境中进行验证确认。

决策

决策会


注意事项

  1. 不过分追求新技术,以满足业务需求为主
  2. 技术栈建议和团队保持一致,以便后续维护。
  3. 技术生态是否丰富,社区是否活跃,文档是否健全,在出现问题时,这些将成为是否能快速解决问题的重点。
  4. 了解技术的优缺点。
  5. 选择最熟悉、使用最多的技术。
  6. 先验证,后使用。
  7. 是否有完善的技术体系(如何监控、运维、扩展)。
  8. 时间成本和人力成本。结合实际情况,有人堆人,有时间就堆时间。



标签:方案,技术,如何,选型,loki,日志,es
From: https://blog.51cto.com/devops9527/5847853

相关文章

  • 如何让自己的代码更加的简单和直白好看
    如何让自己的代码更加的简单和直白好看常规思路打印九九乘法表:#方式一:通过【for..in..】方法实现foriinrange(1,10):forjinrange(1,i+1):print("%d*%d=......
  • Python如何使用XPath对HTMl内容解析,,玩转XPath
    Python如何使用XPath对HTMl内容解析文章目录​​Python如何使用XPath对HTMl内容解析​​​​HTMl内容解析​​​​HTML基础:​​​​什么是XPath:​​​​lxml的安装​​​​......
  • 如何实现自动化整理桌面
    如何实现自动化整理桌面文章目录​​如何实现自动化整理桌面​​​​第一步,我们要获取文件夹的内容:​​​​第二步,设置文件的后缀​​​​第三步:获取文件的后缀​​​​第四......
  • 【网络】内网穿透方案&FRP内网穿透实战(基础版)
    目录前言方案方案1:公网方案2:第三方内网穿透软件花生壳cpolar方案3:云服务器做反向代理FRP简介FRP资源FRP原理FRP配置教程之SSH前期准备服务器配置下载FRP配置FRP服务端启动F......
  • 如何在浏览器里执行 SAPGUI 的事务试读版
    如果本教程的学习者是从其他编程语言的开发者转到ABAP开发上,那么一定体验过在浏览器里进行开发的在线编辑器,比如在阿里云开发平台的在线编辑器里,直接编写Java代码:能......
  • 如何将蜻蜓FM的音频资料提取到本地,一个小工具让你三步就轻松搞定
    蜻蜓FM里面有很多大咖讲的干货内容,为此我还购买了VIP会员,可是最近用起来并不尽兴,原因是我想下载太多东西了,手机里面存不下,电脑上登陆客户端下载的东西却在其他播放工具上打......
  • 如何触发OnDrawItem事件?
    OnDrawItem: WM_DRAWITEM 子控件有自画属性且控件需重画时,父窗口会调用该函数  在具有OwnerDraw属性的控件需要重画的时候,就会激发OnDrawItem以上引用自:https://m.......
  • 如何定义一个夹具/fixture
    目录介绍快速定义fixture自动执行fixturefixture的参数介绍在测试当中,fixture为测试用例提供服务,比如配置数据库、获取配置信息、环境准备清理等,对于一些复杂的测试用例......
  • sw 如何在制作立体字
    参考资料https://jingyan.baidu.com/article/f7ff0bfc23e23f6f27bb135e.html简介......
  • sw 如何使用旋转扫描
    扫描功能简介0.优点:快速作出立体效果物品,很强的功能实现方式......