



HDFS EC 在滴滴的实践
HDFS 中默认的 3 副本方案在存储空间和其他资源(例如网络带宽)上有 200%的开销。对于冷数据,使用纠删码(ErasureCoding,EC)存储代替副本存储是一种非常不错的替代方案。EC 存储在保证容错能力不低于副本存储的同时,有着更低的存储空间消耗。


滴滴 DoKit 一机多控,代码零侵入框架
当前业界各种跨端方案的推出极大推动了研发效率的提升,但这却无形地给相关质量部门带来了压力。各个公司的质量保障部门急需一款能够提升功能回归以及机型兼容测试的效率框架。在这样的背景下,一机多控的解决方案被提出,DoKit 作为一款受众以及口碑都较好的开源效率工具平台也开始进入到该领域。
- 3455 次围观
- 6754 次围观

Flutter Web 在美团外卖的实践
在多形态业务场景下,如何保障多端体验的一致性,是前端技术领域一个比较受关注的方向。美团外卖前端技术团队基于 Flutter Web 探索跨端(App\PC\H5)的解决方案,真正实现“Write Once & Run AnyWhere”。


微服务沉思录 - 可靠性
可靠性(Reliability)是指微服务系统在面对异常情况时,如关键组件损坏、流量或数据量异常、延迟波动、级联故障传导、分布式集群雪崩、系统过载等等,能够持续保持稳定运行或快速恢复的能力。


缓存使用的一些问题
缓存减轻了后端的压力,提升了性能,但同时也会带来一些问题,处理不好,可能带来负面影响。这些问题不仅仅是 redis 才会碰到,只要是使用了缓存这种策略都会面临这些问题,比如 oracle 自身提供的缓存机制,linux 对于读写文件的 page cache。
中国首位 K8s ingress-nginx reviewer 同时提名成为 Apache APISIX committer
近日,来自支流科技的工程师张晋涛被添加为 Kubernetes ingress-nginx 项目的 reviewer,这也是首位来自中国的 Kubernetes Ingress Controller reviewer,与此同时,张晋涛也通过投票提名成为 Apache APISIX committer。

用 5W1H 告诉你如何规划合理的测试策略
摘要:测试策略描述了测试工程的总体方法和目标。描述目前在进行哪一阶段的测试以及每个阶段内在进行的测试种类(功能测试、性能测试、覆盖测试等)以及测试人力安排等。


【Jackson 技术专题】全方位系统化学习和使用指南
Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社 区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一 。 Spring MVC 的默认 json 解析器便是 Jackson。


从 Paxos 到 Raft,分布式一致性算法解析
后台服务架构经过了集中式、SOA、微服务和服务网格四个阶段,目前互联网界大都使用微服务和服务网格。服务从集中式、中心化向分布式、去中心化不断演进,服务也变得更灵活,能够自动扩缩容、快速版本迭代等。

滴滴开源 Logi-KafkaManager 一站式 Kafka 监控与管控平台
LogI-KafkaManager 脱胎于滴滴内部多年的 Kafka 运营实践经验,是面向 Kafka 用户、Kafka 运维人员打造的共享多租户 Kafka 云平台。专注于 Kafka 运维管控、监控告警、资源治理等核心场景。






一文读懂微服务编排利器—Zeebe
微服务架构的一大核心是把大的复杂的业务系统拆分成高内聚的微服务,每个服务负责相对独立的逻辑。服务拆分的好处无需赘述,但是要实现业务价值,不是看单个服务的能力,而是要协调所有服务保证企业端到端业务流的成功。

🏆【Java 技术之旅】教你如何使用异步神器 CompletableFuture
在 java8 以前,我们使用 java 的多线程编程, 一般是通过 Runnable 中的 run 方法来完成, 这种方式,有个很明显的缺点, 就是,没有返回值。这时候,大家可能会去尝试使用 Callable 中的 call 方法,然后用 Future 返回结果,如下:


使用 PSI(Pressure Stall Information)监控服务器资源
我们通常会使用 load average 了解服务器的健康状况,检查服务器的负载是否正常。但 load average 有几个缺点...

操作系统 -- 虚拟内存
在之前研究进程上下文切换和 golang 内存分配器的过程中,发现虚拟内存在其中都扮演着十分重要的角色,之前有学习和了解过虚拟内存,但是随着时间推移也只知道一个概念,现在想要带着问题去再学习一遍虚拟内存,希望这篇文章也能帮助你们更好的理解虚拟内存。


🏆「推荐收藏」【Git 实战专题】代码提交错误怎么办?教你如何回退版本!
一个 commit 对应这一个版本,有一个 commit id,40 位的 16 进制数字,通过 SHA1 计算得到,不同的文件计算出来的 SHA1 值不同 (有很小的几率相同,可忽略),这样每一个提交都有其独特的 id。每提交一个新版本,实际上 Git 服务就会把它们自动串成一条时间线。