For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了软件架构设计常用的一些方法等内容,而本文我们就继续来学习一下,软件架构业务需求都有哪些。
1、业务需求
了解业务需求,明确系统的功能、性能、安全以及未来的扩展需求。
能力复用:微服务层具有更通用的模型设计,具有更强的多业务场景复用的能力。在服务运营的过程中,可以按照业务进行垂直部署;
资源隔离:按业务垂直部署,可以更精细化的优化网络,机器等硬件资源。另一方面,将上层WEB应用与底层的微服务进行资源隔离,同样可以实现更精细化的资源分配。
2、技术特性
评估不同技术的特性,包括可用性、性能、安全性、可扩展性、可维护性等方面。
示例:曾经遇到过一个系统,底层的存储层用的是db4o(一款开源的面向对象数据库),这个中间件拥有很多优点:
•直接以存对象的方式存取数据;
•不需要数据库服务器,只需要一个数据文件,且dll大小仅为300多k;
•数据查询,操作简便且功能强大,甚至不需要使用SQL;
但这里还是不建议使用它,因为我们是分布式集群服务,这个数据库文件只能存储在单机上面,即存在单点故障问题,这是致命的。有时候为了弥补类似的缺陷,你可能需要花费更多的成本。反过来说,如果是作为嵌入式数据库,应用在某些单片机上,它的这些优势就能够显现出来了。
3、社区支持
考虑技术的社区支持程度,包括是否有活跃的社区、是否有大量的文档和教程、是否有成熟的三方库等。
4、团队技能
根据团队的技能水平选择合适的技术,避免使用过于复杂或陌生的技术。这一点非常重要,否则后期的维护成本和迭代效率提升将成为一个大的难题。
5、成本效益
评估不同技术的成本效益,包括开发成本、运维成本、许可证费用等方面。
1.如果有成熟的开源插件可用,我们应该尽量使用它们,而不是重新发明轮子;
2.对于其他团队已经完成的任务,我们需要考虑是否可以复用;
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。