首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/432489

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

微服务业务开发三个难题-拆分、事务、查询(下)

上集我们阐述了使用微服务体系架构的关键障碍是领域模型,事务和查询,这三个障碍似乎和功能拆分具有天然的对抗。只要功能拆分了,就涉及这三个难题。 然后我们向你展示了一种解决方案就是将每个服务的业务逻辑实现为一组DDD聚合。然后每个事务只能更新或创建一个单独的聚合。然后通过事件来维护聚合(和服务)之间的数据一致性。 在本集中,我们将会向你介绍使用事件的时候遇到了一个新的问题,就是怎么样通过原子方式更新聚合和发布事件。然后会展示如何使用事件源来解决这个问题,事件源是一种以事件为中心的业务逻辑设计和持久化的方法。之后,我们会阐述微服务架构下的查询困难的问题。然后向你介绍一种称为命令查询责任分离(CQRS)的方法来实现可扩展和高性能的查询。 可靠地更新状态和发布事件 从表面上看,使用事件来保持聚合之间的一致性似乎很简单。 当一个服务创建或更新数据库的一个聚合时,它只是简单地发布一个事件。 但是,这只是表象,其实还有一个核心问题就是:更新数据库和发布事件必须是原子的。否则,就会出现类似这样的情况:如果服务在更新数据库之后但在发布事件之前崩溃,则系统就出现了不一致的问题。 传统的解决方案是一般都...

敏捷和架构

为了理解敏捷和架构的关系,我们继续讨论第1部分曾经讨论的3个主要的方法:XP、Scrum和RUP。 1, 极限编程:架构形成 XP是以程序员为中心的开发,其中没有一个核心实践明确讨论了软件架构,然而,这并不是说XP项目和XP团队不用或不理解架构在软件开发中的作用。Beck[2000]提到:“架构在XP项目中和在其他软件项目中一样重要”。因此,我们在概念上从XP方法入手是一个好的开端。接着Beck继续解释架构是如何形成的。 首次迭代,先挑选一些简单的和基本的故事,这些故事可以支持你创建整个架构。接下来,缩小范围,用最简单有效的方法实现这些故事。这个过程一旦结束,你就拥有了架构。 这些评论在XP的视角上提供了附加的解释。如果一个范围适度的系统,通过少量故事的一两次迭代展现出一个合理的架构基线,那么这种方法可能非常有效,使用这种模型就可能形成相当好的架构。并且,由于XP主要被推荐和应用于小团队,其有关团队大小和架构策略的观点是一致的。 此外,如果时间证明形成的系统架构不能支持系统继续演化,那么系统也可以较快地改写或者重构。事实上,重构代码是XP这个快速开发方法的关键组成部分,也是XP...

相关文章

发表评论

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册