任何东西都不会完美的,有优点也会有缺点当然微服务架构也是一样的,在中培伟业中就有关于这一方面的知识讲解。并且每一点都给我们做出来全面的系统的讲解。
微服务架构的优势:首先,我们可以通过分解巨大的单体式应用为多个服务方法解决复杂问题。同时应用可以被分解为多个可管理的分支和服务,当然是在功能不变的情况下进行的。因为微服务架构模式给单体式编码方式很难实现的功能提供了模块化的解决方案,所以,单个服务很容易开发、理解和维护。
第二,这种架构是由专业的开发团队来开发的。开发者也就可以自由的选择开发技术,提供API服务。现在的服务都是相对简单的,就算用现在的技术重写以前的代码也不是一件很困难的事情。
微服务架构的劣势:首先主要的不足是,微服务应用是分布式系统,因此互带有一定复杂性。他们必须写代码来处理消息传递中的速度快慢或者不可用等局部失效问题。当然这也不是很大的难事,但相对于单体式应用中通过语言层级的方法或者进程调用,微服务下这种技术服务就会显得更加复杂一些。
第二,一个关于微服务的挑战来自于分区的数据库架构。在商业交易中同时给多个业务分主体更新消息很是普遍的。这种交易对于单体式应用来说是非常容易的,因为只有一个数据库。不同的服务就需要不同的数据库,那么因为数据库和消息传递中间并不支持这一需求,最终不得不使用一个最终一致的方法,从而对开发者提出了更高的要求和挑战。