课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据管理的重要性相信大家都应该明白的吧,尤其是对于企业发展来说数据管理更是非常重要的一个支撑,下面我们就通过案例分析来了解一下,微服务数据管理的优势。
在单体架构中,查询不同的实体非常方便,因为是由单个数据库来管理数据,这会很简单。多表关联查询也很简单。对数据的任何修改都会一起更新,或是一起回滚。关系型数据库具有严格的一致性,有ACID事务保证,所以管理和查询数据都很容易。
但在微服务架构中,当我们使用“混合持久化”时,这意味着每个微服务都有不同的数据库,包括关系型数据库和NoSQL数据库,我们应该制定一个策略,在进行用户交互时管理好这些数据。
因此,这意味着我们在处理微服务之间的数据交互时有几种模式和做法,我们将在本节中学习这些模式和原则。
微服务是独立的,只执行特定的功能要求。在我们的电子商务应用中,我们有产品、购物车、折扣、订单等微服务,它们需要彼此交互来满足客户的要求。这意味着它们需要频繁地交互。而这些交互大多是查询每个服务的数据以进行聚合或执行逻辑。
因此,当用户创建或更新订单时,我将使用关系型写数据库,而当用户查询订单或订单历史时,我将使用NoSQL读数据库,并在通过发布/订阅模式使用消息代理系统同步两个数据库时使它们保持一致。
现在我们可以考虑这些数据库的技术栈了,我打算用SQLServer作为关系型写数据库,用Cassandra作为NoSQL读数据库。当然,我们将使用Kafka的发布/订阅主题交换来同步这两个数据库。可以看到,我们已经完成了微服务数据库模式的设计。现在,让我们深入了解下微服务中的事件驱动架构。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼