
微服务架构
文章平均质量分 74
分布式微服务架构与设计
cn_hhaip
热爱技术为之疯狂
展开
-
网络IO模型
网络IO模型原创 2022-11-17 17:02:40 · 208 阅读 · 1 评论 -
第一个架构图
第一个架构图原创 2022-08-30 13:53:15 · 206 阅读 · 0 评论 -
第一个架构图
第一个架构图原创 2022-08-30 13:52:32 · 174 阅读 · 0 评论 -
《微服务架构设计模式》之外部API模式
文章目录导读外部API设计微服务架构下请求服务弊端API Gateway功能API Gateway实现集中式所有者模式后端前置模式设计难题实现API Gateway云产品服务已有成熟产品自主开发总结导读设计能够支持多种客户端的API挑战使用API Gateway模式和后端访问模式设计和实现API Gateway使用响应式编程简化API组合外部API设计外部API:暴露给客户端的API接口外部API客户端JavaScript程序、移动APP应用、第三方应用微服务架构下请求原创 2021-09-29 13:52:34 · 966 阅读 · 0 评论 -
《微服务架构设计模式》之在微服务架构中实现查询
文章目录学习目标单服务查询挑战微服务查询的挑战性微服务查询挑战解决方案API组合模式CQRS设计CQRS预聚合 + 数据同步引入的新挑战学习目标跨多个微服务数据查询挑战API组合模式CQRSAPI组合模式和CQRS对比单服务查询挑战拥有数据的服务不适合查询如:外卖平台查询附近一定距离内的餐馆接口,该接口由订单团队维护,而不是由餐馆服务团队维护。隔离问题,避免过多职责导致服务过载(分析业务的问题域,正确设计业务归属服务)服务的数据库或者数据模型不能提供有效查询如:坤同交易数据原创 2021-09-04 11:59:42 · 997 阅读 · 0 评论 -
《微服务架构设计模式》之进程间通信
文章目录微服务架构进程间通信概述交互方式微服务架构中定义APIAPI优先设计API的演化语义化版本控制消息格式基于同步远程过程调用模式的通信使用REST使用断路器模式处理局部故障开发可靠的远程过程调用代理从服务时效故障中恢复服务注册发现应用层服务发现模式平台层服务发现模式基于异步消息的通信关于消息消息通道消息代理无代理消息有代理消息使用消息代理实现消息通道处理并发和消息顺序处理重复消息事务性消息使用异步消息提高可用性总结微服务架构进程间通信概述进程间的通信本质是交换消息交互方式第一个维度:一对一原创 2021-07-30 16:05:44 · 403 阅读 · 0 评论 -
《微服务架构设计模式》之服务拆分策略
文章目录微服务架构到底是什么软件架构架构风格为应用程序定义微服务架构识别系统操作创建抽象领域模型定义系统操作微服务拆分根据业务能力进行服务拆分根据子域进行服务拆分拆分指导原则拆分单体应用为服务的难点定义服务API总结微服务架构到底是什么软件架构软件架构是什么定义:软件架构由一组元素(组件)和元素之间的关系构成。架构意义:它让软件开发更加高效,同时软件具有较好的可测性、可部署性、可扩展性、可维护性,而这些都属于软件的质量属性,因此架构可让软件质量更好。卡耐基梅隆大学工程研究所Len Bas...原创 2021-06-24 21:36:19 · 938 阅读 · 2 评论 -
《微服务架构设计模式》之逃离单体地狱
文章目录六边形架构单体地狱单体应用带来的问题拯救之道:微服务架构扩展立方体模型微服务和SOA的区别微服务架构好处微服务架构弊端模式和模式语言模式三个重要组成模式分组微服务之上:流程和组织架构流程组织关系逆向的康威定律持续交付和持续部署(DevOps)持续交付软件开发四个有用评估指标持续交付和持续部署为业务带来的价值成熟的自动交付持续部署技术总结六边形架构单体地狱单体项目随着业务发展,代码越来越膨胀,单体项目规模越来越大,参与团队人员越来越多,沟通成本也随之不断增高,耦合性复杂性越来越强。不利于维护、原创 2021-05-26 20:57:45 · 646 阅读 · 2 评论 -
Netflix数据同步和增强平台Delta
前言对于应用程序来说,使用多个数据存储是一种常见的模式,其中每个数据存储都用于满足特定的需求,如存储形式化数据(MySQL等)、提供高级搜索功能(ElasticSearch等)、缓存(Memcached等)等等。通常,在使用多个数据存储时,其中一个用作主存储,其他用作次存储。现在的挑战是如何保持这些数据存储的同步。我们已经观察到了一系列不同的模式,试图解决多数据存储的同步问题,比如双写、分布式事务等等。然而,这些方法在可行性、健壮性和可维护方面有局限性。除了数据同步之外,一些应用程序还需要通过调用外部服转载 2021-04-01 10:56:42 · 339 阅读 · 0 评论 -
微服务的数据聚合Join
文章目录单库join分布式微服务聚合joinCQRSDenormalize + Materialize the ViewCQRS模式CQRS和最终一致性CQRS和UI(前端)更新策略架构2005 VS 2016单库join传统SQL数据库,通常正规化(normalization)的方式来建模数据。正规化的好处是数据冗余少,不足之处是数据聚合Join会比较麻烦,可能实际Join的时候,需要将几张相关表,通过主键和外键关系才能Join起来。我们知道,Join是一种开销比较大的SQL运算,当数据量少的时候,原创 2021-01-28 14:04:28 · 2413 阅读 · 0 评论 -
微服务数据的一致性分发
文章目录什么是数据分发场景作用特性缺点微服务数据分发一致性一致性方案数据双写事务性发件箱(Transactional Outbox)变更数据捕获(Change Data Capture, CDC)当前成熟技术方案(CDC企业级项目)一致性方案对比什么是数据分发场景微服务架构下,不同服务单一数据源原则只能使用自己的数据源,对于其他服务只能通过远程获取,这样相互影响增大,耦合性高,同时实现也比较复杂,可通过共享部分数据来简化对其他服务的数据获取过程。这种情况下可使用分发机制,实现不同微服务之间的数据共享。原创 2021-01-22 11:34:54 · 734 阅读 · 0 评论 -
星型模型 vs 雪花型模型
文章目录星型模型 vs 雪花型模型概述销售数据仓库中的星型模型销售数据仓库中的雪花型模型使用选择数据优化业务模型性能ETL总结星型模型 vs 雪花型模型概述在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。当所有维表都直接连接到“ 事实表”上时,整个图解就像星星一样,故将该模型称为星型模型,如图 1 。星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相原创 2020-11-25 16:27:40 · 183 阅读 · 0 评论