zoukankan      html  css  js  c++  java
  • [编程总结] 开源系统平台化建设思路

    系统调研

    • 用户视角的系统调研(只需使用)
    • 平台视角的系统调研(需要进行系统的维护和二次开发)

    平台侧系统调研

    1. 平台侧系统调研的原则

      系统是动态发展的,而且许多系统开发迭代速度很快,所以基于某个固定版本去测试意义不是很大

      测试环境的规模和测试场景有限,我们不可能测试出大规模集群下的性能瓶颈和扩展性问题,这只能依靠原理推导

      只要我们理解了系统的架构,核心原理,我们就应该能够推测出其适用场景,固有缺陷,扩展性问题

    2. 平台侧系统调研的步骤

      先通过系统官方文档,论文,公开资料,代码进行系统原理的调研,掌握系统的核心架构和原理

      用该领域的标准测试集进行测试(比如OLAP领域的SSB和TPC-H测试)

      二次测试:
      标准测试集没有cover的场景
      现有系统的痛点或者优势场景
      原理上推测出的调研系统可能的痛点或者优势场景
      原理上90%以上能够推测出结果的测试场景(无需测试)

    3. 是否需要上线该系统:
      运维管理成本
      开发成本
      社区的活跃度
      业务需求的紧迫性
      该系统离我们理想系统的距离和改造的成本
      该系统在大规模集群下的可能瓶颈和问题
      该系统的固有缺陷以及避免改缺陷的成本

    4. 平台侧调研需要注意的问题

      如果调研的系统官方文档,论文,公开资料已经足够详细,我们就没有必要看代码;

      即使必须要看代码,也不能限于代码海洋中,纠结某些细节问题,因为调研时间有限,不可能搞清所有细节问题;

      看代码时,可以通过log,测试用例,debug 来加速我们对代码结构的整体理解和把握;

      看代码时,尽可能带着明确的问题和线索去看

      对于某些重要的技术细节,我们可以先掌握What和Why,对于How我们可以在业余时间或者真正需要使用到这种技术时再详细调研,因为某个技术细节不会影响我们对一个系统整体架构,核心原理和未来极限的理解

      调研新系统时应该和已知系统进行对比,思考为什么不同系统在解决相同或者类似问题时采用了不同方案,不同方案之间的权衡是什么

    用户侧系统调研:

    目标系统在我们的需求场景下是否有成功案例

    是否足够易用

    性能和QPS是否能满足需求

    是否可以提供SLA保证

    平台运维

    系统中坚决不能容许失败的运维操作我们都应该有重试机制和报警。

    线上事故在处理前我们应该保留现场(log,jstack, jmap,监控截图等)

    线上事故发生时的所有报警都有可能是有关联性的,无论报警是什么等级,我们都应该关注。

    一个易维护系统的log必须是充足的,合理的,有意义的,人可读的;其中所有线程都应该有极具标志性的线程名。

    稳定压倒一切,我们无法保证生产环境的稳定,我们就没法玩了。一个高可靠的系统源自可靠的系统设计,优秀的代码实现,充分的测试,可靠的运维,任何一个环节出现问题,都有可能导致事故的产生。

    我们必须从事故处理,日常运维,日常客服这类工作中解脱出来,才会有更多精力满足我们用户更多的需求,才有可能打造一个高效,稳定,易用的平台。能解脱出来的前提是我们的系统是高可靠的,运维是自动化和高效的,我们的用户接入文档,使用文档,FAQ文档等是十分完善的,用户的对接和沟通过程应该是高度流程化和规范化的。

    分布式系统必须考虑容错和局部失败;必须认为网络是不可靠的,物理时钟是不可靠的;有并发读写的场景就必须考虑分布式一致性问题。

    开源系统落地需要做的事情

    • 编译部署
    • 监控报警
    • 用户手册
    • 核心性能指标收集和 Dashboard
    • 公司周边系统集成
    • 回归测试框架
    • 大查询报警
    • 自动化运维脚本

    参考

    [1] https://blog.bcmeng.com/post/system-research.html

    本文作者: chaplinthink, 关注领域:大数据、基础架构、系统设计, 一个热爱学习、分享的大数据工程师
  • 相关阅读:
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    Adobe acrobat DC 2020 激活方法
    物理八年级下册2
  • 原文地址:https://www.cnblogs.com/bigdata1024/p/15435349.html
Copyright © 2011-2022 走看看