课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了软件架构的常见类型,而今天我们就再来了解一下,不同架构方法能够满足哪些开发需求。
一、分层架构
分层架构的优点:每个层可以只集中于自己的功能实现。这使得应用程序:
容易维护
容易单元测试
易于分配单独的“角色”
易于更新和扩展
适当的分层体系结构将开发层面进行隔离,这些层不受其他层的更改的影响,从而使重构更加容易。划分任务并定义单独的层是架构师面临的挑战。当需求很好地适应了模式时,这些层将易于解耦或分层开发。
适合:
需要快速构建的新应用程序
传统IT部门和流程的企业或业务应用程序
具有尚不了解其他架构的经验不足的开发人员的团队
需要严格的可维护性和可测试性标准的应用
二、事件驱动架构
注意事项:
如果模块之间可以相互影响,则[测试可能会很复杂
当模块发生故障时,中央单元(或消息中间件)必须有一个事件备份计划。
消息传递开销可能会降低处理速度,消息中间件必须缓冲以突发形式到达的消息时。
当事件有非常不同的需求时,为事件开发数据结构可能会很复杂。
维护基于事务的一致性机制很困难,因为接收事件的模块是解耦和独立的。
适合:
具有异步数据流的异步系统
各个数据块仅与多模块中的少数模块交互的应用程序
用户界面
三、微内核-多插件架构
注意事项:
确定哪些代码是微内核中的内容通常是一门艺术。它应该保留经常被使用的代码。
一旦许多插件依赖微内核,修改微内核可能非常困难,甚至不可能。的解决方案就是修改插件。
为内核函数选择正确的粒度很难事先完成,也几乎不可能在后期进行更改。
适合:
工具类软件
在核心代码与边缘代码之间有清晰区分的应用程序
具有一组固定的核心函数和一组动态规则的应用程序
四、微服务架构
注意事项:
并非所有应用程序都可以拆分为相对独立的微服务单元。
当任务分散在不同的微服务之间时,通信成本会更大。单个请求的响应时长会增加。
适合:
快速发展新业务团队
大型Web应用程序
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。