
是在业务驱动下进行的。
我相信业务用的好好的,没有性能瓶颈,没有合规要求,也没有新需求要开发,我们也不会想着换个框架或组件。
当业务有真正的诉求的时候,比如有数据同步,业务解藕,削峰填谷,分布式事务等需求时,我们就需要调研相应的解决方案了。
这个时候往往会面对很多的软件,究竟该选哪个,用哪个?如果有团队成员比较熟悉的以前用过的软件,可能大概率就会选择它,毕竟用过有经验,遇到问题也知道怎么解决。
但如果团队成员都没有用过,这个时候面对如此多的软件,而且在有限的时间里,我们到底该如何选择呢?或者说软件选型该考虑哪些呢?
今天和大家分享一下个人的经验,希望能对大家有所帮助。
选择调研对象
在开始选型前,我们需要知道有哪些待调研的对象。
-
想用消息中间件,需要调研的对象可能有RabbitMQ,RocketMQ,Kafka等。
-
有数据同步的需求,需要调研的对象可能有otter,Datax,canal等。
-
想用rpc服务,调研的对象可能有Dubbo、gRPC、Thrift等。
这里就不再一一展开了,其实想说的就是,首先我们要知道调研的对象,接下来就需要看看到底要调研哪些内容。
调研的内容
(1) 系统架构
软件的系统架构很大程度上决定了软件的简单或复杂、可扩展性、高可用性等较难改变的属性。
所以我们在选型的时候,需要重点考虑软件架构。
软件的官网中一般都会有相应的架构图,从中我们可以看到软件的基本组件,架构的简易程度等内容
。比如下图为RocketMQ的架构图,从中可以看出RocketMQ的基础组件有NameServer Cluster、Broker Cluster,还能进一步看出NameServer Cluster的基本职责有Broker Discovery,以及Broker Cluster可以通过数据同步来实现高可用等内容。
(编辑:江门站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|