架构成长指南

  • 首页
  • prometheus
  • 云原生
  • 关于
不积跬步,无以至千里
并发设计

30年蜕变:Java 虚拟线程的前世今生

这是一段近 30 年的进化之路。直到 Java 21 推出的虚拟线程,才让 Java 中的多任务处理变得轻松自如。要理解这一突破性的改变有多重要,我们得回顾下 Java 这些年来是如何一步步尝试解决"如何在等待时做其他事情"这个看似简单却棘手的问题。 Java 1 时代 1995 年,Java 1.0 的发布是编程界的一个重要里程碑。作为一门强类型的、面向对象的编程语言,它不仅继承了 C 语言的语法特点,还带来了许多革新,其中最引人注目的就是简单易用的线程机制。Thread 类让开发者可以轻松创…

2024年12月6日 0条评论 1029点热度 4人点赞 蜗牛 阅读全文
分布式事务

分布式事务解决方案:深入理解TCC模式

引言 在分布式系统中,事务处理一直是一个复杂的话题。想象一下,当你在网上商城购物时,整个过程涉及: 订单系统创建订单 库存系统扣减库存 支付系统完成支付 积分系统增加积分 这些操作分布在不同的服务中,如何保证它们要么全部成功,要么全部失败?这就是分布式事务需要解决的问题。 分布式事务的挑战 传统事务的局限 在单体应用中,我们习惯使用数据库的 ACID 事务: @Transactional public void createOrder(Order order) { // 创建订单 orderRepository.s…

2024年12月6日 0条评论 1653点热度 0人点赞 蜗牛 阅读全文
数据库

mysql for update是锁表还是锁行

在并发一致性控制场景中,我们常常用for update悲观锁来进行一致性的保证,但是如果不了解它的机制,就进行使用,很容易出现事故,比如for update进行了锁表导致其他请求只能等待,从而拖垮系统,因此了解它的原理是非常必要的,下面我们通过一系列示例进行测试,来看看到底是什么场景下锁表什么场景下锁行 验证 示例说明 创建一个账户表,插入基础数据,以唯一索引、普通索引、主键、普通字段4 个维度进行select ... for update查询,查看是进行锁表还是锁行 表创建 创建一个账户表,指定account_n…

2024年3月12日 0条评论 2237点热度 18人点赞 蜗牛 阅读全文
云原生

在本地就能使用的k8s轻量级日志工具分享

在我们基于k8s部署了微服务服务之后,为了更好排查系统异常或者监控系统运行情况,都会接入日志系统进行在线日志查询,比如常见的 有ELK、EFK、Loki。虽然这些日志系统都可以对系统进行日志收集和展现,但是只是部署一个内部单体应用或者就是懒不想部署这些,觉得引入这些日志系统有点资源浪费。那么有没有简单查看 K8S 中多个 Pod 中的日志工具?只要能想到的,别人肯定也想到了,今天就分享两款超好用的多容器实时日志查看工具 Kubetail 和 Stern。 Kubetail Kubetail 是一个Shell脚本,很…

2024年2月26日 0条评论 1873点热度 1人点赞 蜗牛 阅读全文
云原生

k8s本地测试联调工具KtConnect介绍

在我们系统部署到 k8s 以后,开发测试模式也会有一定变化,下面是一些常见的问题,如果处理不好,直接影响我们的效率 本地服务如何访问k8s里面的服务进行功能测试? 本地如何快速访问集群中资源,比如访问某个微服务的 swagger? 如何把集群里面流量转发到本地服务,进行功能测试? 如何临时快速部署一个服务到 k8s 里面进行功能验证? 以上问题,我相信大多数开发者都会遇到过,而且常用的方式应该是把服务部署到 k8s中在进行测试,这种方式虽然简单,但是效率很低,因为我们的系统还在单元测试,遇到的bug会比较多,每次改…

2024年2月26日 0条评论 2136点热度 1人点赞 蜗牛 阅读全文
数据库

基于Doris构建亿级数据实时数据分析系统

背景 随着公司业务快速发展,对业务数据进行增长分析的需求越来越迫切,与此同时我们的业务数据量也在快速激增、每天的数据新增量大概在30w 左右,一年就会产生1 个亿的数据,显然基于传统MySQL数据库已经无法支撑满足以上需求 基于上述需求和痛点,决定提供一个灵活的多维实时查询和分析平台,帮助业务线做精细化运营。 业务分析 现有业务数据有以下特点,查询多、更新少,基本不会更新1 个月以前的数据,但是查询范围较大,有时需要查询几年前的数据,而且数据会以年、月等不同维度统计来进行增长分析 因此以上场景使用 OLTP 引擎不…

2024年2月17日 1条评论 2011点热度 0人点赞 蜗牛 阅读全文
数据库

阿里开源的数据同步利器DataX介绍

今天给大家分享一个阿里开源的数据同步工具DataX,在Github拥有14.8k的star,非常受欢迎,官网地址:https://github.com/alibaba/DataX 什么是 Datax? DataX 是阿里云 DataWorks数据集成 的开源版本,使用Java 语言编写,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、M…

2024年2月13日 0条评论 2136点热度 0人点赞 蜗牛 阅读全文
云原生

Loki使用指南

与其他日志系统相比, Loki 的使用方式是有一定差异性的,需要用不同的思维方式。本文分享一下这些差异以及我们应该如何使用 作为 Loki 用户或操作人员,我们目标应该是使用尽可能少的标签来存储日志。 更少的标签则意味着更小的索引,从而能带来更好的性能。 以上这些话听起来可能觉得有问题。因为在我们以往工作中比如使用 elk、数据库的经验告诉我们,如果想让它更快,需要对其建立索引。而Loki 是以完全相反的方式构建和优化的, Loki 的设计目标是保持较低的运营成本和复杂性,这是通过保持非常小的索引并利用商用硬件性能…

2024年2月4日 0条评论 1401点热度 0人点赞 蜗牛 阅读全文
云原生

10 分钟在K8s中部署轻量级日志系统 Loki

Loki 是什么? Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用了分布式的架构,并且与Prometheus、Grafana密切集成,可以快速地处理大规模的日志数据。该项目受 Prometheus 启发 Promtail是代理,负责收集日志并将其发送给 Loki 。 Loki 是主服务器,负责存储日志和处理查询。 Grafana则 用于 UI 展示。 与ELK相比优势在哪里? ELK…

2024年1月29日 0条评论 2431点热度 0人点赞 蜗牛 阅读全文
云原生

Kustomize与Helm对比

K8s 是一个开源容器编排平台,可自动执行容器化应用程序的部署、扩展和管理。近年来,K8s 已成为采用云原生架构和容器化技术的组织的标准。 但是由于K8s的复杂性,因此诞生很多工具来简化使用的门槛。大多数公司使用的两个工具是Kustomize (K8s 的配置管理器)和Helm (K8s 的包管理器) 在本文中,我们将讨论 Helm 和 Kustomize、它们可以做什么、如何使用它们以及这些工具之间有什么区别。 Kustomize Helm 操作方法 overlays templating 使用成本 简单 复杂 …

2024年1月29日 0条评论 1584点热度 0人点赞 蜗牛 阅读全文
123

蜗牛

大家好,我是蜗牛哥,工作11年的老司机,目前在某头部跨国外企担任基础架构负责人,除了正常工作外,写写技术文章把遇到的一些坑和一些经验分享出来,主要语言JAVA,擅长基础架构与中间件开发,目前主攻方向云原生

我的公众号
最新 热点 随机
最新 热点 随机
30年蜕变:Java 虚拟线程的前世今生 分布式事务解决方案:深入理解TCC模式 mysql for update是锁表还是锁行 在本地就能使用的k8s轻量级日志工具分享 k8s本地测试联调工具KtConnect介绍 基于Doris构建亿级数据实时数据分析系统
什么是 doris,为什么几乎国内大厂都会使用它? 分库分表已成为过去式,快试试分布式数据库吧 Kustomize与Helm对比 10 分钟在K8s中部署轻量级日志系统 Loki 如何使用 Prometheus 监控SpringBoot系统 k8s本地测试联调工具KtConnect介绍
归档
  • 2024年12月 / 2篇
  • 2024年3月 / 1篇
  • 2024年2月 / 5篇
  • 2024年1月 / 14篇
  • 2023年12月 / 2篇

COPYRIGHT © 2023 架构成长指南. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备2023043681号-1