快速技术选型和新开源框架理解

全篇开源框架以rocketmq为基本样例做列举:

1、框架解决什么问题

      1.1、框架解决的是什么问题;

          需求以学习rocketmq为例:削峰填谷,异步消费,应用解耦;

     1.2、解决该问题可以有哪些框架可以支撑;

         支持该需求的框架可以:rocketmq,kafka,rabbitmq等消息中间件解决这些问题。

    1.3、需求明细拆分,根据需求明细拆分,确定框架对比特性

        根据需求特性对比,是否满足需求;列举需求清单:如:qps,io等框架的性能压测报告对比。根据需求特性列举对比的框架优劣,最终选择框架。充分的理解各个框架的有缺点和适配的场景。特别是要注意根据未来需求拓展,社区活跃,运维成本和

2、框架优缺点

     2.1、通过框架官网应用场景介绍和背景描述,详细了解框架解决哪些问题。

     2.2、通过框架官网了解性能测试报告。

    2.3、通过横向对比其他同类型框架的官网测试报告数据横线个对比。

    2.4、通过比较权威的公众号和博客了解框架对比的数据情况,再根据需求判断选用框架。

   2.5、通过横向对比了解框架的不足之处,以及要避免使用的场景,制定使用规范。同时为了防止滥用采用统一封装的方式和逻辑校验监控的方式规避各种滥用。(主要防止开发过程当中不理解的情况下胡乱使用,)最好在框架使用前期做好培训和代码审查。

3、框架的官方文档,核心方法和核心逻辑用例

    3.1、框架官方文档非常重要,特别是使用到框架的核心方法;一般一个框架使用场景下面使用方法都是比较通用,设计的api不会特别复杂,复杂的是逻辑实现。

   3.2、官方文档会更新最新修改的bug,如果是要长期维护一个系统,则需要定期去官网查看每个版本修复什么问题,解决什么问题。

   3.3、核心方法如果使用非常复杂且配置参数非常多的情况,则需要优先阅读参数的各种用途和说明。

4、下载框架demo本地运行

   4.1、框架的基本运行环境搭建:框架可能存在服务端安装,中间件安装,插件安装,甚至有一些可能是其他语言环境的安装。(安装越复杂维护成本越高)

   4.2、demo用例在官网的指引下去启动和执行。主要是了解框架的运行机制。

   4.3、demo的基础方法测试:(1)、正确性测试。(2)、特性测试(如顺序消费,事务性消息等)(3)、性能测试等

5、充分尝试各种核心方法的调用

   5.1、核心方法的充分测试,和各种场景的测试。(由于官网可能显示的是最新的版本提供的一些特性,而下载的版本可能较低导致有些特性不支持,防止下载安装错误需要将核心方法的功能都跑一遍)

   5.2、根据业务场景,实现简单的性能压测demo。通过跑分的方式实现对框架的实际测试的qps,Io等性能数据的真实情况(不能完全依赖官网的压测报告。其中可能会涉及到服务器的配置等会导致不同的测试结论)

   5.3、根据代码压测情况,得出所在项目组和所在公司能否满足对接框架需求。或者为项目搭建提供参数依据。未来服务器申请部署提供参考依据。

6、通读框架核心方法的源码

    6.1、通读核心方法的源码,用于在遇到很多奇特问题的时候无法入手的情况。(如:增加权限认证,多集群使用等方面问题)

   6.2、阅读源码提高对框架的设计思想的理解和学习框架的编程思想,吸收优秀架构设计的方法。提高自我的编程能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值