首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再谈分布式服务架构

在两年前,我曾经设计过一版,高可伸缩服务架构, 但只进行了理论推演,并没有使用具体业务逻辑验证过。以这两年的经验来看,这个架构不具备可实施性。 在之前的架构中,我只考虑了Gate和其服务之间的交互。...这样一来,整个架构的复杂性就大大提升了。 这两年里,我一直在思考,游戏服务器和WEB服务器最本质的区别是什么?为什么WEB可以很轻松的做伸缩, 而游戏服务器想要做对就很难。 现在,我想我有了答案。...我们可以提升性能的惟一手段就是伸缩,而伸缩性的惟一的手段就是“分片”(把玩家的数据,全服数据分摊到不同的游戏服务中)。 然而,由于现代分布式数据库领域都还没有特别完美的ACID解决方案。...我认为在游戏服务器的分布式领域中,我们只要阻止错误的发生就可以了。至于异常是避免不了的(比如超时)。 基于这个原则和我两年前的架构设计,我重新抽象了整个分布式架构。...这次的抽象和上次一样,我并不企图抹平分布式的事实,仅仅只是为了抹平同一个服务会被水平布署多份的事实。 ---- 在设计完这个抽象之后,一个自然而然的事实,摆在我面前。 假如,有三个服务A,B,C。

38830

分布式服务架构(一)

,极大提高了效率这都是spring 的功劳 但是这中架构还是取向于传统的单体应用,业务逻辑耦合在一个项目中。...服务架构 随着互联网快速突起环境下,传统的架构不能满足海量用户发起的高并发请求,无法突破耦合在一起的模块组件的性能瓶颈,且水平扩展也是很有限。...,HTTP具有跨语言,跨异构系统的优点,当然也可以底层的二进制和消息队列协议等进行交互,每个服务功能自治,且可以使用不同的语言 微服务和传统单体架构的对比 微服务职责单一,独立的服务,每个服务单独运行一个进程...传统架构运行在单一的jvm进程,整个业务Jvm水平扩展,不能业务组件进行扩展,模块间的依赖将不会氢气,互相耦合,互相依赖是常态 微服务和SOA服务化对比 微服务和SOA是一脉相承,微服务是SOA的延续...,SOA理念在微服务架构中任然有效,微服务是在SOA服务化的基础上进行了严谨和叠加。

77830
您找到你想要的搜索结果了吗?
是的
没有找到

分布式服务架构(二)

,否则难以支持亿级流量,即使关系型数据库,单机也难以支持存储和吞吐量的性能需求,如果必须要这样做,就应尽量把数据放到数据库一个分片上,这样就可以利用数据库解决不一致的问题, CAP C:一致性,在分布式系统中...将相关的数据分到数据库的同一个分区,任然可以解决数据一致性问题 由于业务限制,并不能将数据放到一个数据库分片,因此我们记录事务的软状态,如果出现不一致,就可以通过系统自动化或者人工干预修复不一致的问题 分布式一致性协议...在分布式系统中构建了唯一的id,调用链的等基础设施后,我们可以很容易对系统间的不一致进行核对,通常需要第三方的定时核对系统,从第三方监控服务执行的健康程度....5.可靠消息模式 在分布式系统中,我们经常使用的就是上面提到的异步确认模式,为了让一步操作的调用方和被调用方充分的解耦,采用消息队列,具有可以伸缩性,可分片,可持久化等, 消息的可靠发送 消息的可靠发送认为是尽最大努力发送消息通知...当内部超时的时候,这和三状态场景相似因此当服务1调用服务2超时,服务1需要根据服务2的最新状态,根据状态补偿后续操作,如果服务2根据最新状态,接受了请求,则继续后续操作,这种和同步三状态不一样的是,一旦处理成功

66020

SpringCloud 分布式服务架构

SpringCloud 分布式架 前言 SpringCloud微服务 单体架构和微服务分布式架构 单体架构分析 微服务分布式架构分析 服务拆分和远程调用 服务拆分 案例需求准备 远程调用初步 Eureka...SpringCloud是一种微服务的框架,利用它我们可以去做分布式服务开发。 至于具体的,我们现在开始介绍。...SpringCloud微服务 单体架构和微服务分布式架构 单体架构分析 在这之前我们所有的开发都是按照单体架构开发的。什么是单体架构,其实就是所有的功能都放在一个项目中。...这些在了解到分布式服务后就可以了解到如何解决这些问题的。 微服务分布式架构分析 分布式架构的微服务有很多。 也就是说微服务并不是springcloud这一种。...这里先不用去关注集群的具体的概念,但是在结合分布式服务的话,集群可以帮助我们解决服务的跨区域的问题。跨区域部署服务器。 按照上图所示集群部署的话,可以部署在不同的地域。杭州,上海等等。

45020

服务架构多“”才合适?

不少评论也提出了不少有建设性的观点,汇总出来分享给大伙: @田卫 同学提到: 服务化之后,可能会引发分布式事务的问题,“没人愿意引入分布式事务,当基于业务水平拆分的时候,要业务专家介入,合理拆分服务化,...如@田卫所说,分布式事务是业界没有彻底解决的难题,任何架构设计都是一个折衷,吞吐量?时延?一致性?哪个是主要矛盾,优先解决哪个问题。...二、互联网微服务架构多“”才适合 大家也都认可,随着数据量、流量、业务复杂度的提升,服务架构架构演进中的必由之路,今天要讨论的话题是:微服务架构多“”才合适?...细节:信单对单消息是一个写多读少的业务,故没有缓存。...垂直拆分是个好的方案,将子业务一个个拆出来,那么信的服务架构或许会变成这个样子: ?

1.2K60

分布式服务架构概述初探

为了让系统能够尽可能快的相应各种需求和外界因素的变化,需要软件开发的系统流程和实践层面上提出可行的方案,分布式服务架构就是在这个基础上,于软件技术和架构层面衍生而来的应对之道。...综上所示,分布式服务架构图我们可以初步的总结为下图所示。 ?...(4) 自治:服务足够小,功能单一,可以独立打包、部署、升级、回滚和弹性伸缩,不依赖于其他服务,实现局部自治。...结构差异 微服务化之后,服务数据的激增会引起架构质量属性的变化,例如企业集成总线ESB逐渐被P2P的虚拟总线替代;为了保证高性能、低时延,需要高性能的分布式服务架构保证微服务架构的实施。...服务治理 传统基于SOA Governance的静态治理转型为服务运行动态治理、实时生效。

90530

服务信的架构实践

作者|许家滔 编辑|田光 微服务的理念与腾讯一直倡导的“大系统小做”有很多相通之处,本文将分享信后台架构服务发现、通信机制、集群管理等基础能力与其上层服务划分原则、代码管理规则等。...过去几年,信都是很敏捷地在开发一些业务。所以我们的底层架构需要支撑业务的快速发展,会有一些特殊的需求。 另外,目前整个信团队已经有一千多人了,开发人员也有好几百。...三、高并发 基础架构 接下来看看我们的基础架构。 ? 整个微服务架构上,我们通常分成这些部分: 服务布局 服务之间怎么做一些远程调用 容错(主要讲一下过载保护) 部署管理 服务布局 ?...早年我们 QQ 邮箱、信、图像压缩、反垃圾都是一个 web 服务,只有存储层会独立到后面去,甚至用 web 直连 MySQL。因为它早期比较小,后来变大之后就用微服务架构。...2011 年起负责信后台基础架构,包括分布式存储平台和后台服务框架等,覆盖信账号 / 消息 / 朋友圈核心存储等,并为公众号 / 信支付 / 信企业号等等业务提供组件支持,近两年专注于后台服务质量提升和高性能架构

3.4K31

从单体架构分布式服务架构的思考

二、分布式服务架构 1.什么是分布式服务架构? (1)分布式是什么?为什么要用分布式分布式要考虑哪些问题?...之所以要用分布式,最关键的是服务器性能问题,单台服务器性能比较有限,综合利用多台服务器,能够提高整体的性能。 分布式要考虑的问题有如下: 如何合理的拆分出子系统。 子系统之间如何通信。...(4)微服务架构是什么?...当然了,分布式服务的技术选型不局限某一类编程语言。...对我在创业公司做项目经历感兴趣的朋友可以阅读我的这篇文章:一位北漂在创业公司的两年 三、总结 从单体架构分布式服务架构,基本上我都参与了,有从0到1,也有二次开发,还有从1到2再到3的版本迭代。

1.4K11

分布式AI集群服务架构

现在的大模型训练,离不开分布式训练,通过分布式训练来加速训练过程,减少耗时。...分布式并行架构 加速比 单机训练时: 训练耗时 = 训练数据规模 * 单步计算量 / 单设备计算速率 多机训练时,理想情况是: 训练耗时 = 训练数据规模 * 单步计算量 / ( 单设备计算速率 *设备数...参数服务分布式训练时,需要更新模型参数,通常是用参数服务器来承担,工作包含: 计算损失和梯度 梯度聚合 参数更新并参数重新广播 有下面几种模式,当前大模型参数量过大,单个GPU不能承载,通常采用参数服务器分布在所有...通过该算法,对于3亿(0.3B)参数的语言模型每秒处理的样本数量与同时进行同步训练的 GPU 数量呈线性关系 总结 大规模分布式训练中主要使用参数服务架构模式(PS),参数服务器分布在多个 GPU...PS架构下通过集合通信来实现环同步,从而同步分布在多个 GPU 中的参数, Ring All Reduce 是环同步的经典同步方式

1.3K50

服务架构分布式Session管理

所谓的应用架构,是由一个门户应用和多个应用组成的架构体系。每个应用都是基于微服务框架的Web应用,拥有自己的Web页面和逻辑代码。...因为每一个应用都具有自己的Web页面,这些Web页面都会通过浏览器客户端展现给用户,整个应用架构可以近似地看作是一个大型的分布式应用,所以每个应用都需要有Session对象,同时整个应用架构中,...图3 单体架构VS应用 与上文所述的分布式架构相比,微服务应用架构让应用模块划分更精细,每个应用的大小合适,方便进行维护和管理。...微服务框架在降低企业应用开发运维成本的同时,也为应用之间的Session共享带来了挑战,单体应用被拆分成了十几个不同功能的应用,分布式架构中的Session管理方案已经无法满足于架构需求。...三、微服务架构分布式Session管理方案 经过上文的分析,在微服务架构中,使用Session集中管理的方式维护应用的Session是比较好的选择。

1.3K80

服务架构有哪些分布式问题?

虽然很多文章都说微服务架构是复杂的、会带来很多分布式的问题,但只要我们了解这些问题,并找到解法,就会有种拨开云雾的感觉。...微服务是一种服务间松耦合的、每个服务之间高度自治并且使用轻量级协议进行通信的可持续集成部署的分布式架构体系。这一句包含了微服务的特点,微服务架构和其他架构有什么区别?以下对比一些常见的架构。...从单体服务到分层的服务,再到面向服务、再到微服务甚至无服务,对于架构的挑战是越来越大。 微服务中的分布式服务架构属于分布式系统吗?答案是肯定的。...微服务和 SOA 都是典型的分布式架构,只不过微服务的部署粒度更细,服务扩展更灵活。 怎样理解微服务中的分布式?举一个招聘时一个同学来面试的例子。...如何学习分布式服务架构体系 微服务架构的技术体系、社区目前已经越来越成熟,所以在初期选择使用或者企业技术体系转型微服务的时候,需要了解微服务架构中的分布式的问题: 在所有服务都是更小单元的部署结构时,

1.1K20

服务架构分布式事务方案

如著名架构师Chris Richardson所言,目前存在的主要困难有如下几方面: 1)单体应用拆分为分布式系统后,进程间的通讯机制和故障处理措施变的更加复杂。...为此,本文将深入和大家探讨微服务架构下,分布式事务的各种解决方案,并重点为大家解读阿里巴巴提出的分布式事务解决方案----GTS。...4 GTS--分布式事务解决方案 GTS是一款分布式事务中间件,由阿里巴巴中间件部门研发,可以为微服务架构中的分布式事务提供一站式解决方案。 更多GTS资料请访问研发团队博。...,可以关注我一下,我后续也会整理更多关于分布式架构这一块的知识点分享出来,另外顺便给大家推荐一个交流学习群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty...源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。

1.2K20

服务架构分布式事务方案

如著名架构师Chris Richardson所言,目前存在的主要困难有如下几方面: 1)单体应用拆分为分布式系统后,进程间的通讯机制和故障处理措施变的更加复杂。...为此,本文将深入和大家探讨微服务架构下,分布式事务的各种解决方案,并重点为大家解读阿里巴巴提出的分布式事务解决方案----GTS。...4 GTS--分布式事务解决方案 GTS是一款分布式事务中间件,由阿里巴巴中间件部门研发,可以为微服务架构中的分布式事务提供一站式解决方案。 更多GTS资料请访问研发团队博。...,可以关注我一下,我后续也会整理更多关于分布式架构这一块的知识点分享出来,另外顺便给大家推荐一个交流学习群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty...源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。

1.2K60

(四)整合spring cloud云服务架构 - 企业分布式服务架构构建

今天正式给大家介绍了Spring Cloud - 企业分布式服务架构构建,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10...作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务。...以下是我为公司规划的大型互联网分布式企业微服务架构: 从现在开始,我这边会将近期研发的spring cloud微服务架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友...,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

61230

Spring Cloud构建微服务架构分布式服务跟踪(入门)

通过之前的N篇博文介绍,实际上我们已经能够通过使用它们搭建起一个基础的微服务架构系统来实现我们的业务需求了。...通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败...针对上面所述的分布式服务跟踪问题,Spring Cloud Sleuth提供了一套完整的解决方案。...在本章中,我们将详细介绍如何使用Spring Cloud Sleuth来为我们的微服务架构增加分布式服务跟踪的能力。 ?...第四个值: false,表示是否要将该信息输出到Zipkin等服务中来收集和展示。 上面四个值中的 TraceID和 SpanID是Spring Cloud Sleuth实现分布式服务跟踪的核心。

74140

互联网项目架构之基于服务分布式架构

随着互联网电商项目的发展,越来越多的购物平台等都使用SOA分布式来作为系统主要架构。为什么有那么多的电商项目都选择SOA作为系统架构呢?...这肯定是存在一定原因的,因为电商行业的项目它大概存在以下特点:分布式、高并发、高可用、集群、负载均衡、海量数据、系统安全等一系列问题都需要解决,那么我所了解的SOA分布式架构它正好基本能很好的解决这些问题...一:首先说说项目总体架构的流程   1、该项目采用SOA分布式架构,在此基础上我们又实现了面向服务的思想,中间件使用阿里巴巴出品的Dubbo服务治理的核心框架来管理整个系统的服务,并且选择zookeeper...来作为注册中心;     2、大家都知道,一个电商项目是无法避免如何处理海量图片资源的问题,所以这里由使用一款用C语言开发的开源分布式文件系统FastDFS作为图片服务器,专门用于存储系统中所有的商品图片...,广告图片等资源,并且通过Nginx反向服务器来访问图片服务器上的资源;        3、接着说说商品搜索功能这块的架构,这里我们将在Linux系统上搭建了solr集群并实现了集群分片,安装了IKAnalyzer

1.3K100

分布式服务架构:原理、设计于实战》总结

第一章:   理论基础:   互联网企业对传统技术进行发展和演化,形成一套具有互联网特色的互联网技术,互联网技术以拆分为原则来满足服务于海量 用户的需求,从架构上来讲,分布式服务化( SOA )、...这断话摘自书中的一段内容,从这段话中我们可以思考,分布式理论中使用了两个主流的技术,以SOA服务化为基础,采用分而治之的思想进行业务处理;   何为分而治之:将一个大任务划分为几个子任务,并行执行后,将结果合并的思想...从传统单体架构服务架构 : 原始的EJB架构: ?  ...服务的特点仍然是单体化,服务的粒度抽象为模块化组件,所有组件精合在一个开发项目中,并且配置和运行在一个JVM中 。...面向服务架构

42320

整合spring cloud云服务架构 – 企业分布式服务架构构建「建议收藏」

今天正式给大家介绍了Spring Cloud – 企业分布式服务架构构建,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格、苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10...作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务。...以下是我为公司规划的大型互联网分布式企业微服务架构: 从现在开始,我这边会将近期研发的spring cloud微服务架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友...,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

34510

Spring Cloud构建微服务架构分布式服务跟踪(跟踪原理)

通过上一篇《分布式服务跟踪(入门)》的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详细说说实现分布式服务跟踪的一些要点。...分布式系统中的服务跟踪在理论上并不复杂,它主要包括下面两个关键点: 为了实现请求跟踪,当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯一的跟踪标识,同时在分布式系统内部流转的时候...为了统计各处理单元的时间延迟,当请求达到各个服务组件时,或是处理逻辑到达某个状态时,也通过一个唯一标识来标记它的开始、具体过程以及结束,该标识就是我们前文中提到的Span ID,对于每个Span来说,它必须有开始和结束两个节点...本文内容部分节选自我的《Spring Cloud微服务实战》,但对依赖的Spring Boot和Spring Cloud版本做了升级。

99750
领券