Spring Cloud微服务架构实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 高度的独立性设计

微服务架构的去中心化的设计特点,为每个微服务的设计提供了高度的独立性。这样,我们就可以根据每个微服务的特点,选择数据库或者通信方式,以发挥其独特的效能。

比如,对于数据量不是很大,关联性不是很复杂的数据,可以使用传统的关系数据库,如MySQL或者Oracle。对于数据量较大,更新不是很频繁的数据,可以使用MongoDB等NoSQL数据库。对于一些关系复杂,关联比较多的数据,则可以使用图数据库,如Neo4j等。这样针对不同的业务特性,使用合适的数据库,就可以充分发挥应用程序的性能。

对于通信方式来说,有些程序对实时数据很敏感,只能使用接口的方式进行实时调用;而有的程序对实时数据并没有太多要求,但是通信量很大,这时就可以使用异步消息进行调用。这样,通过有针对性的独立设计,可以最大限度地发挥应用程序的效能。