首页
学习
活动
专区
工具
TVP
发布

ThoughtWorks

专栏作者
907
文章
737692
阅读量
115
订阅数
什么是多运行时架构?
自从数年前微服务的概念被提出,到现在基本成了技术架构的标配。微服务的场景下衍生出了对分布式能力的大量需求:各服务之间需要相互协作和通信,以及共享状态等等,因此就有了各种中间件来为业务服务提供这种分布式能力。
ThoughtWorks
2023-08-08
1400
使用上下游思维实现系统解耦
在软件开发领域,解耦这个词相信大家都不陌生。在面向对象的语境下,我们会应用SOLID原则来构建高内聚低耦合的应用,实现模块间的解耦;在复杂业务系统分析和建模时,会通过DDD的战略和战术设计帮助划分领域并实现分布式系统中服务的解耦;当我们在组织大型敏捷开发团队协同工作时,通过组建自治团队来减少摩擦,从而实现团队级别的解耦。 可以看到解耦无处不在,并且以此为目的投入,大家都会觉得是无比的政治正确,因为实现了解耦,我们的系统和应用就能更快速的扩展和演进,我们的团队就能更顺畅的合作并能更加快速的实现业务价值。 但是
ThoughtWorks
2022-09-02
3910
「洞见荐书」| 《掌握分布式跟踪》(文末赠书)
《掌握分布式跟踪》终于要和大家见面了。两年多前,有幸接到此书的翻译工作。两年多的时间过去了,这人世间变化太大,恍如隔世。所幸的是,总有些选择会兜兜转转坚持下来了,总有些美好的约定会如期而至,恰如此书的出版。 《掌握分布式跟踪》这本书应该是业界第一本专门讲分布式跟踪的书,所以我非常高兴能成为它的第一版中文翻译者。可能会有人发出这样的疑问:分布式跟踪这么一个细分的技术领域,值得专门为之写一本书吗?我的回答是,值得,太值得了,而且我相信这不会是唯一的一本。将来绝对会有越来越多的书籍介绍分布式跟踪的。 我为什么如此
ThoughtWorks
2022-05-16
3401
如果不想总是半夜爬起来抢修生产事故
我以前很崇拜那些能修复各种软件缺陷的“救火”高手。很多年前,我还是一个维护遗留系统的团队的普通开发人员。那时,团队的每个开发人员,都轮流带一个7x24小时开机的手机,处理用户问题。团队里有一位英雄。他戴眼镜,经常身穿一件白大褂。我们要是有搞不定的生产事故的各种疑难杂症,就会找他。
ThoughtWorks
2021-12-17
2940
在分布式系统中使用 DDD
无论我们使用单体、SOA、微服务、中台或者其他架构,都需要解决如何组织代码这个问题,DDD 并不是一个技术,而是指导我们组织代码的一种思想,这种思想也并不是凭空出现的。
ThoughtWorks
2021-03-10
5740
使用 DDD 指导微服务拆分的逻辑
对于服务拆分的逻辑来说,是先设计高内聚低耦合的领域模型,再实现相应的分布式系统。服务的划分有一些基本的方法和原则,通过这些方法能让微服务划分更有操作性。最终在微服务落地实施时也能按图索骥,无论是对遗留系统改造还是全新系统的架构都能游刃有余。
ThoughtWorks
2020-12-22
5740
微服务分布式一致性模式
微服务拆分后遇到的一个麻烦是分布后的一致性问题。单体架构的业务处理和数据都在一个进程里面,一致性保障很成熟,开发人员基本上不用关心。当把业务系统拆分到不同进程时,就遇到了技术性一致性问题。这带来了纠结,我们希望有一颗银弹,一把解决问题。但由于分布式一致性在(CAP)理论上没有完美的解决方案,我们所能选择的方案是在特定业务场景下的选择。
ThoughtWorks
2019-09-08
5870
溯源微服务:企业分布式应用的一次回顾
微服务作为架构风格几乎成为云时代企业级应用的事实标准,构成微服务的技术元素本身却并非革命性。跨平台的分布式通信框架、地址无关的服务注册与发现、智能路由与编排等技术早已在CORBA、SOA时代实现了一遍又一遍,我们不禁好奇,微服务有什么不同?本文是对企业分布式应用的一次回顾,与前微服务时代相比,我们究竟在哪些领域吸取了教训,哪些方面持续搞砸。
ThoughtWorks
2019-05-15
4160
微服务架构下的质量迷思——混沌工程
从2005年Peter Rodgers博士提出微web服务,到2014年ThoughtWorks首席科学家Martin Fowler与James Lewis共同提出微服务概念至今已多年,这期间也是互联网及互联网+发展的高速期,消费市场变化莫测,消费者也变得越来越挑剔,很多公司和产品由于无法跟上市场的快速变化而纷纷倒下。越来越多的互联网巨头甚至传统行业都开始对自己的遗留系统进行微服务改造,通过把系统拆分为更加灵活、有业务边界上下文、松散耦合、可独立部署的服务来应对快速变化的消费市场。
ThoughtWorks
2019-05-14
7710
当我们做区块链时,我们在做什么 | 洞见
关于区块链是什么,网络上的解释多如牛毛。这里,我从通常需求的角度总结一下:在记录保存(身份存证)时,它是分布式账本(分布式数据库);在交易或支付(跨境支付)时,它是信任机器。虽然这两种分类方法并不正交,但是对于理解区块链的应用领域有很大的好处。
ThoughtWorks
2018-09-20
1.3K0
你的微服务敢独立交付么?| 洞见
最近经常在项目或是社区里听到大家谈论微服务架构,但谈论的焦点更多集中在微服务拆分,分布式架构,微服务门槛,DevOps配套设施等话题上。
ThoughtWorks
2018-07-23
8210
登录工程:传统 Web 应用中的身份验证技术|洞见
标题中的 “传统Web应用” 这一说法并没有什么官方定义,只是为了与“现代化Web应用”做比较而自拟的一个概念。 所谓“现代化Web应用”指的是那些基于分布式架构思想设计的,面向多个端提供稳定可靠的高可用服务,并且在需要时能够横向扩展的Web应用。相对而言,传统Web应用则主要是直接面向PC用户的Web应用程序,采用单体架构较多,也可能在内部采用SOA的分布式运算技术。 一直以来,传统Web应用为构成互联网发挥了重要作用。因此传统Web应用中的身份验证技术经过几代的发展,已经解决了不少实际问题,并最终
ThoughtWorks
2018-04-17
1.8K0
大型分布式团队的代码版本管理|洞见
介绍这个话题,有两个原因: 从开始工作到现在,我经历过没有代码版本管理、代码集中式管理、以及现在的分布式管理,我深刻体会到它在软件开发过程中的重要性; 我在工作中遇到的很多客户都存在对于代码版本管理的
ThoughtWorks
2018-04-17
1.5K0
从分布式计算到分布式训练
对计算机来讲,所谓的计算,不过是将存储在各个地方的数据通过数据总线进行传输,然后经过算术逻辑单元执行一系列预设好的规则,最终再将输出写入到某个位置。 在计算能力有限、存储成本偏高的情况下,就需要利用好
ThoughtWorks
2018-04-17
1.2K0
TW洞见|讲什么虚的,持续交付中的业务分析就该来实战!
本期洞见内容转自InfoQ:http://www.infoq.com/cn/articles/continuous-delivery-business-analysis作者来自ThoughtWorks:夏洁,图片来自网络。 在需要频繁交付、不断收集用户反馈、拥抱变化、追求业务敏捷的项目中,软件的开发和交付是迭代式进行的。在这样的项目团队中,BA(业务分析师)通常需要在一个开发迭代开始之前完成该迭代开发任务的分析。但在特殊情况下,从收集客户需求到将功能细节传达给开发团队的周期会缩短到一至两天。BA可以用于思
ThoughtWorks
2018-04-16
4970
DevOps发展的9个趋势|洞见
DevOps包含了太多方面的技术和实践,很难通过一个统一的工具链来描述其发展。即便如此,我们仍然可以从ThoughtWorks技术雷达的条目变动中看出一些趋势。今年,我有幸作为主编参与了最新一期技术雷
ThoughtWorks
2018-04-13
6670
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档