软件架构的触碰

软件架构:分层架构、微服务架构、事件驱动架构、微核架构(插件架构)、云架构(没有使用中央数据库)


微服务架构:适合构建复杂的应用
1)微服务应用是分布式系统,由此会带来固有的复杂性
2)另外一个关于微服务的挑战来自于分区的数据库架构。
3)测试一个基于微服务架构的应用也是很复杂的任务。
4)微服务架构模式应用的改变将会波及多个服务。


单体式架构:
1.应用核心是业务逻辑,由定义服务、域对象和事件的模块完成。围绕着核心的是与外界打交道的适配器。适配器包括数据库访问组件、生产和处理消息的消息组件,以及提供API或者UI访问支持的web模块等。
2.1)单体式应用在不同模块发生资源冲突时,扩展将会非常困难;
2)单体式应用另外一个问题是可靠性。因为所有模块都运行在一个进程中,任何一个模块中的一个bug,比如内存泄露,将会有可能弄垮整个进程。除此之外,因为所有应用实例都是唯一的,这个bug将会影响到整个应用的可靠性。
3)单体式应用使得采用新架构和语言非常困难。


敏捷开发和部署

你可能感兴趣的:(php)