元数据驱动的微服务架构(上)
传统的模型方式的核心目标是能够自动生成代码,故定义过于复杂。而微服务间的“语言”的目标与传统不同,用元数据作为“语言”驱动整个微服务架构是不错的选择。本文为普元软件产品部副总兼大数据产品线总经理王轩在云计算架构设计群的微课堂分享。
【云栖神侠传】从理论到实践,深度剖析微服务架构那点事儿!
肥侠,集团客户体验事业群高级专家,目前负责全阿里集团客服在线以及热线CRM的开发工作,在推进多个集团内部CRM的融合,标准化、插件化,以及微服务化,通过DT手段驱动业务创新,应用机器学习和NLP技术再造服务流程,建设未来电商服务生态新标准。
基于thrift的微服务框架
前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支持tcp/ip协议的rpc调用,也支持http协议的rest服务调用,同一个项目中甚至可同时支持这二种方式。
XXLJOB:超长定时任务慢节点优化实践
本文针对ODPS大宽表任务运行慢、回刷成本高等问题,通过定位耗时卡点,分析数据倾斜与计算堆积根源,提出视图落表、节点拆分、前置裁剪、中表关联等优化方案,最终实现产出时间提前4小时以上,显著提升效率与可维护性。
MongoDB索引知识
MongoDB索引基于B树结构,可显著提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,适用于多种查询场景,如范围查询、排序、全文搜索和分片,有效优化大数据量下的查询性能。
初学者友好:Go-Kratos 集成 go-crud,GORM ORM CRUD 无需重复编码,轻松上手
本文介绍如何在Go-Kratos微服务中集成go-curd与GORM,实现CRUD操作免重复编码。基于kratos-gorm-example项目,通过step-by-step教程,帮助初学者快速上手:从环境搭建、模型定义到API开发,全程简化数据操作,显著提升开发效率,适合Go新手快速构建微服务应用。
阿里云微服务引擎 MSE 及 API 网关 2025 年 5 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
本文详细介绍了JVM中的GC算法,包括年轻代的复制算法和老年代的标记-整理算法。复制算法适用于年轻代,因其高效且能避免内存碎片;标记-整理算法则用于老年代,虽然效率较低,但能有效解决内存碎片问题。文章还解释了这两种算法的具体过程及其优缺点,并简要提及了其他GC算法。
SpringCloud解决feign调用token丢失问题
【5月更文挑战第2天】在feign调用中可能会遇到如下问题: * 同步调用中,token丢失,这种可以通过创建一个拦截器,将token做透传来解决 * 异步调用中,token丢失,这种就无法直接透传了,因为子线程并没有**token**,这种需要先将token从父线程传递到子线程,再进行透传
初始化k8s多结点集群
在Ubuntu22.04.3 LTS上设置k8s多节点集群,采用Docker v24.0.6、kubeadm v1.28和cir-dockerd v0.3.4。首先安装docker和cri-dockerd,更新k8s三件套至v1.28。然后,参照官方文档进行`kubeadm init`初始化集群,配置包括自定义镜像仓库、控制面端点等。成功初始化后,显示了相关证书和配置信息。最后,提供了一些额外的kubectl命令以管理节点。
【Spring系列笔记】定义Bean的方式
在Spring Boot应用程序中,定义Bean是非常常见的操作,它是构建应用程序的基础。Spring Boot提供了多种方式来定义Bean,每种方式都有其适用的场景和优势。
深入探索:主流低代码开发平台的应用场景及开发流程
低代码虽然强大,但并非万能。假如一家企业引进了低代码,就让其开发团队“下课”,把开发控制权完全交给业务团队,那他们在达成目标上就会困难重重。但对于某些特定的场景,低代码绝对是一项强大的技术。它能迅速补齐能力短板,为部分用户群体的核心软件构建创造新的可能,还能让业务团队按需自助搭建应用。
MSE微服务引擎注册问题之nacos注册失败如何解决
MSE(MicroService Engine)微服务引擎是阿里云提供的一种微服务治理平台,它通过提供服务注册、发现、配置管理等功能来支撑微服务架构的稳定运行;本合集旨在梳理MSE微服务引擎的核心特性、部署流程,以及实践中可能遇到的问题和相应的解决方案,以助力用户优化微服务架构的实施和管理。
使用eBPF加速阿里云服务网格ASM
服务网格下的Sidecar 代理业务服务的收发请求,并提供业务层面的流量控制(路由)、负载均衡等功能,会引入一定的Latency 延迟。 通过eBPF 技术(部署sidecar 加速组件)将同节点下两个进程间的TCP 报文进行socket 短路可以提升一定的性能,HTTP 场景下QPS 可提升15% 左右, 有效地降低业务请求的Latency 。
充换电企业开迈斯低成本提升线上应用稳定性的最佳实践
开迈斯为中国新生代消费者而来,不仅注重私家电动车主的充电体验,还以高端的品质服务提供用户便捷无忧、智能高效的全新充电体验,开启乐享生活的旅程。本文记录了开迈斯微服务架构如何应对快速增长的业务挑战。
基于静态编译构建微服务应用
静态编译能有效解决 Java 冷启动和运行时内存占用过高问题,Spring Cloud Alibaba 最新版本适配了 GraalVM 静态编译技术,可助力用户构建更轻量的微服务应用。
基于云原生网关的全链路灰度实践
本文完整介绍了基于物理环境隔离和基于逻辑环境隔离两种方案,其中对基于逻辑环境隔离方案进行详细分析对涉及到的各个技术点做了相关介绍,并基于 EDAS 及 MSE 云原生网关的落地方案,并给出相关产品配置用例。
《面向应用安全防护领域设计Wasm插件》赛题解析
2023云原生编程挑战赛2:面向应用安全防护领域设计 Wasm 插件 本赛题希望基于 WASM 实现 Higress 网关安全防护插件,开发者可以选择 Go/Rust/C++ 等多种语言,并从 IP 防护,WAF 规则防护,CC 防护等不同角度出发设计实现插件。
时速云使用 Higress 替换 Ngnix Ingress + Spring Cloud Gateway 的生产实践
时速云的 PaaS 平台多款网关软件基于 Higress 实现统一
阿里云微服务引擎 MSE 全新升级,实用能力更普惠,最高降幅 75%
5 月 17 日,阿里云峰会·常州站宣布微服务引擎 MSE 三大普惠升级,进一步降低客户享受微服务技术红利的成本。
Kubernetes下的微服务设计和实现
Kubernetes 是一个开源的容器编排系统,最初由 Google 开发,后被 CNCF(Cloud Native Computing Foundation,云原生计算基金会)接手并继续推动发展。Kubernetes 的目标是提供一种可移植、可扩展和智能化的容器编排工具,可以自动化应用的部署、扩展和操作
微服务常用的模式语言:统一交流术语
模式语言提供了讨论问题的交流术语,它明确了特定场景、特定问题的解决方案和延伸性思考。模式语言主要目的是帮助开发者解决在设计和编程中遇到的共同的问题,即清晰的问题陈述、体现问题的解决方案以及推动解决方案的力量(Force)的清晰表述。 微服务架构作为一个现在流行的服务架构,也有一套属于自己的模式。这篇文章是微服务架构相关模式语言的一个提纲。Chris Richardson 从不同的角度,对相关的模式进行了分类。可以点击链接查看每个模式的详细描述。下图通过虚线框细分了不同的微服务模式。
49-微服务技术栈(高级):分布式协调服务zookeeper源码篇(选举机制源码分析)
本篇博文详细分析了FastLeaderElection的算法,其是ZooKeeper的核心部分,结合前面的理论学习部分,可以比较轻松的理解其具体过程。
33-微服务技术栈(高级):分布式事务Seata的SAGA模式与几种模式总结对比
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
26-微服务技术栈(高级):分布式事务Seata部署与集成
在分布式架构系统中,服务不止一个,一个完整的业务链路肯定也不止调用一个服务,此时每个服务都有自己的数据库增删改查,而每一个写操作对应一个本地事务。如果想要确保全部的业务状态一致,也就意味着需要所有的本地事务状态一致,这在我们之前的学习中肯定是不具备的,如何做到跨服务、跨数据源的事务一致性将是本章节的重点学习内容。
17-微服务技术栈(高级):Docker部署RabbitMQ镜像模式
默认情况下,队列只保存在创建该队列的节点上。而镜像模式下,创建队列的节点被称为该队列的主节点,队列还会拷贝到集群中的其它节点,也叫做该队列的镜像节点。但是,不同队列可以在集群中的任意节点上创建,因此不同队列的主节点可以不同。甚至,一个队列的主节点可能是另一个队列的镜像节点。用户发送给队列的一切请求,例如发送消息、消息回执默认都会在主节点完成,如果是从节点接收到请求,也会路由到主节点去完成。镜像节点仅仅起到备份数据作用。当主节点接收到消费者的ACK时,所有镜像都会删除节点中的数据
分布式系统开发实战:微服务架构,实战:基于CQRS微服务通信
Axon Framework是一个适用于Java的、基于事件驱动的轻量级CQRS框架,既支持直接持久化Aggregate状态,也支持采用EventSourcing。
09-微服务技术栈(基础):Nacos配置中心
上一节我们借助于Nacos实现注册中心,完美替换了Eureka在项目之初的功能,开始本章节之前我们一起回忆下Nacos实现注册中心的关键步骤 1. 引入springcloud-alibaba/nacos-discovery依赖 2. 去除原eureka依赖、去除配置文件中eureka注册信息 3. 新增nacos注册信息:spring.cloud.nacos.server-addr:localhost:8848 4. 重启项目并验证 在此基础之上我们验证了Nacos的负载均衡策略、权重控制、环境隔离等信息,希望大家还能有点印象。
SpringCloud微服务实战——搭建企业级开发框架(四十三):多租户可配置的电子邮件发送系统设计与实现
SpringBoot提供了基于JavaMail的starter,我们只要按照官方的说明配置邮件服务器信息,即可使我们的系统拥有发送电子邮件的功能。但是,在我们GitEgg开发框架的实际业务开发过程中,有两个问题需要解决:一个是SpringBoot邮箱服务器的配置是配置在配置文件中的,不支持灵活的界面配置。另外一个是我们的开发框架需要支持多租户,那么此时需要对SpringBoot提供的邮件发送功能进行扩展,以满足我们的需求。