Coding Ideal World

Coding完美世界

中台反思:提质增效

中台系列文章见: http://www.idealworld.group/archive/?tag=%E4%BC%81%E4%B8%9A%E4%B8%AD%E5%8F%B0 提起中台大家往往会把它与提质增效联系起来,诚然中台的诞生就是以解决研发交付效率为初衷,但是我们也要明白提质增效是企业级治理的课题,需要的是自顶而下的反思与优化,需要的一套“组合拳”,中台在这之中固然重要...

中台反思:技术中台设计架构

转眼间,在平台架构上笔者已折腾了8、9年,期间服务了四家公司,0到1的交付过四个版本的平台/中台。本文将结合实际的工作总结、反思建设过程中新遇到的问题,探讨可行的方向。在阅读之前可先浏览《中台之路,从平台到中台的思考与实践(一)》(http://www.idealworld.group/2020/04/16/thinking-and-practice-from-platform-to-...

GraalVM系列(三):GraalJS多线程实践

在 GraalVM系列(二):GraalVM核心特性实践 一文中介绍了GraalVM的几个核心特性。本文接着前文遗留的JS多线程调用问题展开讨论。 通过前文的测试我们可以看到GraalVM下不支持对JS的并发执行,具体而言引用官网的描述如下: GraalVM支持的多线程执行的基本模型是"无共享(share-nothing)"模型,任何JavaScript开发人员都应...

闲言碎语:为什么阿里做不好业务中台

写这篇文章不是为了博眼球,阿里虽然“创造”了中台这个概念并且在内部广泛地实践,对外更是以专家的姿态“指点江山”,但当我们细细推敲时就会发现中台难,阿里的中台更难。 大家也许觉得我想说阿里拆中台的事并以此论证阿里做不好中台,但这事情上还真是无可非议的,5年的时间,市场不同面临的技术、组织、运营的策略也不同,这也算是中台置于阿里的演化进程,并不能说明问题。本文我要说的是阿里对外输出的业...

分布式架构的根基:深入浅出一致性算法

分布式算法的介绍文章可谓汗牛充栋,但或是过于学术证明或是过于简单,笔者将尝试挑战用一篇文章,让近乎0基础的同学都可以理解一致性算法的原理。 分布式服务的困局 我们试想一个常见的电商场景:超时订单自动关闭,在下单后X小时内未支付的话自动关闭订单并释放库存。这时我们需要有一个定时器定时触发相关的业务操作,从高可用的角度看这个定时器需要部署多个实例,但对同一订单仅只允许触...

GraalVM系列(二):GraalVM核心特性实践

在 GraalVM系列(一):JVM的未来——GraalVM集成入门 一文中我们实践了GraalVM如何集成到现有的系统中,本文我们将对GraalVM的各个核心功能展开讨论,力求读者对GraalVM能有更全面的认知。 GraalVM建立的初衷 GraalVM是基于Java语言的开发的虚拟机,最初用于替换C++写的Hotspot VM的JIT compiler,在可维...

平台化服务的基石(四):再议用户权限,更优雅的模型

在《用户认证模型设计》、《权限模型设计》、《隔离与交互策略模型》中笔者介绍了用户权限的演进,逐步形成了相对完善的模型体系,但在文末也遗留了些改进思考。本文将延续之前的演进以改进点为切入聊一下更优雅的模型。 改进思考回顾及补充 资源(Resource)加上资源操作(Operation)用于定位一个操作,但这一模型下“资源”并不纯粹,比如有HTTP API“GET ...

云原生实践系列:概述

引言 云原生是个被炒烂了的话题,但人与亦云并非笔者的风格,既然要写自然会写出个性,写得与众不同。本系列不会从宏观上泛泛而谈,而是从架构细节切入,聊聊一下什么是可落地的云原生。 云原生架构的优势 笔者有一个观点: 业务需求复杂度的提升必然导致技术复杂度的提升 。大家可能所看到的某一框架说可以简化开发,那只不过是把复杂度做了转移,要么转移给了框架自身,框架变得很重,要么转移给了...

GraalVM系列(一):JVM的未来——GraalVM集成入门

要说JVM的未来那有很多的可能,但在云原生如日中天、Serverless日渐成熟、新语言百花齐放的当下,跨语言、Native支持、高性能低资源占用的技术必定是其璀璨的明珠,而GraalVM正是这样一个承载了JVM未来,将Java带入下一波技术浪潮的弄潮儿,本文我们就来实践下GraalVM集成支持。 Java的问题 在讲GraalVM前我们先回看下Java当前遇到的问...

平台化服务的基石(三):隔离与交互策略模型

在《用户认证模型设计》、《权限模型设计》文章中我们介绍了用户权限服务的用户、认证、权限相关的模型,本文我们继续该服务模型的介绍,补充上最后一块核心模型。 模型回顾 之前我们提到租户(Tenant)时说它是数据隔离的单位,不同租户间的数据不能共享: 账号(Account)隶属于租户,即便是同一个自然人在不同租户间也会有各自的账号 应用(App)隶属于租户,...