通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能
本文将和大家一同回顾 Spring Cloud Gateway 是如何满足 HTTP 请求/响应转换需求场景的,并为大家介绍在这种场景下使用 Higress 云原生网关的解决方案,同时还对比了两者的性能差异。
Seata:打造行业首个分布式事务产品
Seata 起源于阿里内部电商业务体系,解决服务化过程中的服务一致性问题,经过了多年标准化建设和大促流量的洗礼,Seata 已成为交易、支付和物流场景的标准化组件。本文将详细介绍微服务架构下数据一致性的挑战,分布式事务 Seata 的架构演进以及如何基于 Seata 扩展 RPC 和数据库。
13-微服务技术栈(高级):Nacos注解@RefreshScope热更新原理
在前面学习Nacos的章节中,为了实现配置的热更新我们采取了两种方式,其一就是借助于注解:@RefreshScope,那么这个注解是如何做到标识即生效的?我们尝试一起分析一下。
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(七) 开发环境使用轻量级在线文档解决知识分享问题
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(七) 开发环境使用轻量级在线文档解决知识分享问题
SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
定时任务几乎是每个业务系统必不可少的功能,计算到期时间、过期时间等,定时触发某项任务操作。在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添加分布式锁来防止多个微服务同时运行定时任务而导致同一个任务重复执行。
微服务开发平台 Spring Cloud Blade 部署实践
本文介绍使用 Rainbond 快速部署 Spring Cloud Blade 微服务平台。Spring Cloud Blade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.7 、Spring Cloud 2021 等核心技术构建,完全遵循阿里巴巴编码规范。提供基于 React 和 Vue 的两个前端框架用于快速搭建企业级的 SaaS 多租户微服务平台。
“天猫双11”背后的流量治理技术与标准实践
如何保障微服务在双十一的超级峰值下也能如丝般顺滑稳定?这背后的技术原理是怎样的,有没有一些最佳实践与标准?这篇文章就为大家介绍如何结合 Sentinel 与 OpenSergo 玩转双十一背后的流量治理技术与标准。
Jenkins+Docker+Harbor+SpringCloud微服务持续集成自动化部署(上)
Jenkins+Docker+Harbor+SpringCloud微服务持续集成自动化部署(上)
【Spring Cloud】新闻头条微服务项目:自媒体前后端搭建&素材管理(含优化)
主要介绍自媒体端的前后端搭建及素材管理中的上传图片素材、获取素材列表并展示、收藏素材、删除素材,最后对删除素材做了优化,优化了其逻辑的合理性。
Nacos配置中心介绍与应用,微服务开发标配组件
Nacos 动态配置服务可以让你以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
SpringCloud微服务实战——搭建企业级开发框架(二十七):集成多数据源+Seata分布式事务+读写分离+分库分表
读写分离:为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作。 目前有多种方式实现读写分离,一种是Mycat这种数据库中间件,需要单独部署服务,通过配置来实现读写分离,不侵入到业务代码中;还有一种是dynamic-datasource/shardingsphere-jdbc这种,需要在业务代码引入jar包进行开发。
从概念、部署到优化,Kubernetes Ingress 网关的落地实践
随着容器和 Kubernetes 技术的兴起,集群入口流量管理方式逐渐通用化、标准化。Kubernetes 通过 Ingress 资源用来管理外部 HTTP/HTTPS 流量进入集群内部的方式。目前,Ingress 的实现者 - Provider 的发展呈现百花齐放的状态,用户可以根据自身业务场景进行产品选型。为了帮助用户从建好 Ingress 网关到用好 Ingress 网关,本文将分享 Kubernetes 集群内,Ingress 网关从概念到部署的落地实践以及 MSE 云原生网关如何更好地实现 Kubernetes Ingress。
微服务架构 | 5. 服务容灾
当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作;
一份微服务架构手稿图,彻底搞定微服务核心原理!
微服务的概念最早在 2012 年提出,在 Martin Fowler 的大力推广下,微服务在 2014 年后得到了大力发展。今天我们通过一组手绘图来梳理下微服务的核心架构。
kubernetes Spring Cloud 微服务架构—(10) Kubernetes spring cloud 微服务Kubernetes 1.15 安装
(10) Kubernetes spring cloud 微服务Kubernetes 1.15 安装
云原生时代微服务的高可用架构设计
在8月20日“阿里巴巴技术质量精品课”上,来自蚂蚁的经国分享了对云原生时代微服务的高可用架构设计的全面解析,为大家介绍了应用架构演进路径、云原生时代的技术福利、高可用架构的设计原则以及经典案例的设计。
云原生时代的微服务架构简介
互联网架构下的微服务体系已经成为数字化转型的主流架构,云原生技术让这一架构进一步发展,不仅提升了系统的稳定性和降低了编程复杂性外,还让应用从云带来的分布式复杂性中彻底解脱出来,快速构建健壮、极具弹性、易观察的云原生应用。那么,云原生的微服务架构有哪些主要的技术变化?现有服务架构又如何演进到云原生微服务架构?在阿里CIO学院-凌云时刻-“数字化图谱”之云原生架构师培训的第二讲中,阿里云智能中间件首席架构师李小平为大家将为大家解答。
开发者社区精选直播合集 | 微服务架构与实践
近年,微服务概念十分火热,受很多企业推崇,它是一个新兴的软件架构,指把一个大型单个应用程序和服务拆分为多个,使得服务能够独立运行。想了解微服务技术及发展现状?本合集精选5个视频,带你快速了解,马上查看!
神结合!一招玩转K8s和微服务治理
云原生技术已经深刻的改变了软件的开发和交付过程,让软件开发回归业务,是开发者长久以来的共同愿望,云原生的出现,恰好提供完美的工具,帮开发者将软件的业务功能和运维治理分离开。而K8s作为云原生技术中调度编排的核心,对运维治理的提供了实施标准,早已被证明可有效的提升复杂系统稳定性,降低运维成本,随着它的逐渐成熟,K8s已经开始吸引越来越多开发者的注意。
基于SAE的免运维、高资源利用率微服务
本文Step by Step 介绍了如何用 Serverless 应用引擎(SAE)帮助中小 企业极速构建云上微服务应用,以及通 过弹性伸缩从容应对突发性流量洪流, 灵活启停应用环境降低资源成本。
阿里巴巴NACOS(4)- 主流微服务配置中心产品比较 Spring Cloud Config、阿里云ACM、Nacos
上一篇文章介绍了如何部署Nacos的生产集群环境,因为Nacos是开源的,代码透明、可以参与共建、有社区进行交流和学习,当然更重要的是开源产品的接入成本低,所以公司项目目前都采用Nacos作为服务配置和注册中心,之前也用过其他产品,比如Eureka、Consul、Spring Cloud Config等,这篇文章就分享一下 服务配置中心 一些主流产品的对比。
如何在微服务架构下进行数据设计?
微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务这些方面。 本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮助大家在构建微服务架构时,提供一个数据方面的视角: ● 什么是微服务 ● 微服务的优势及架构特点 ● 微服务架构下的数据设计 ● 一个适合微服务架构的数据库 1 什么是微服务 按照 Martin Fowler 的定义,微服务是一个软件架构模式,通过开发一系列的小型服务的方式来实现一个应用。
从“挖光缆”到“剪网线”|蚂蚁金服异地多活单元化架构下的微服务体系
“异地多活”是互联网系统的一种高可用部署架构,而“单元化”正是实现异地多活的一个解题思路。 说起这个话题,不得不提两个事件:一件是三年多前的往事,另一件就发生今年的杭州云栖大会上。
使用Spring Boot日志框架在已有的微服务代码中添加日志功能
我们需要在已有的微服务代码中添加日志功能,用于输出需要关注的内容,这是最平常的技术需求了。由于我们的微服务代码是基于SpringBoot开发的,那么问题就转换为如何在Spring Boot应用程序中输出相应的日志。
微服务下的契约测试(CDC)解读
1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载《RobotFramework接口自动化系列课程》,原本计划每周更新一篇,最近由于博主在带一个新项目,实在是没空抽出时间来,所以向公众号中对连载课程一直期待的读者说声抱歉。
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:kratos-bootstrap 入门教程(类比 Spring Boot)
kratos-bootstrap 是 GoWind Admin 的核心引导框架,类比 Spring Boot,提供应用初始化、配置管理、组件集成等一站式解决方案。通过标准化流程与多源配置支持,开发者可快速构建企业级中后台服务,专注业务开发,降低微服务复杂度。
设计模式觉醒系列(03)创建型模式的5个设计模式 | 一口气讲全讲透
本文详细介绍了设计模式中的创建型模式,包括建造者模式、原型模式、单例模式、工厂方法模式和抽象工厂模式。创建型模式关注对象的创建过程,隐藏了创建细节,以提高代码的可维护性和可扩展性。通过具体的实战demo和应用场景分析,展示了每种模式的特点和优势。例如,建造者模式适用于复杂对象的分步骤构建;原型模式通过复制对象实现高效复用;单例模式确保全局唯一实例;工厂方法模式和抽象工厂模式则提供了灵活的对象创建机制,支持多类型产品族的生产。这些模式在实际开发中能够简化客户端代码,提升系统灵活性和复用性。
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 1 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
JVM进阶调优系列(8)如何手把手,逐行教她看懂GC日志?| IT男的专属浪漫
本文介绍了如何通过JVM参数打印GC日志,并通过示例代码展示了频繁YGC和FGC的场景。文章首先讲解了常见的GC日志参数,如`-XX:+PrintGCDetails`、`-XX:+PrintGCDateStamps`等,然后通过具体的JVM参数和代码示例,模拟了不同内存分配情况下的GC行为。最后,详细解析了GC日志的内容,帮助读者理解GC的执行过程和GC处理机制。
JVM进阶调优系列(5)CMS回收器通俗演义一文讲透FullGC
本文介绍了JVM中CMS垃圾回收器对Full GC的优化,包括Stop the world的影响、Full GC触发条件、GC过程的四个阶段(初始标记、并发标记、重新标记、并发清理)及并发清理期间的Concurrent mode failure处理,并简述了GC roots的概念及其在GC中的作用。
JAVA并发编程系列(11)线程池底层原理架构剖析
本文详细解析了Java线程池的核心参数及其意义,包括核心线程数量(corePoolSize)、最大线程数量(maximumPoolSize)、线程空闲时间(keepAliveTime)、任务存储队列(workQueue)、线程工厂(threadFactory)及拒绝策略(handler)。此外,还介绍了四种常见的线程池:可缓存线程池(newCachedThreadPool)、定时调度线程池(newScheduledThreadPool)、单线程池(newSingleThreadExecutor)及固定长度线程池(newFixedThreadPool)。
JAVA并发编程volatile核心原理
volatile是轻量级的并发解决方案,volatile修饰的变量,在多线程并发读写场景下,可以保证变量的可见性和有序性,具体是如何实现可见性和有序性。以及volatile缺点是什么?
微服务新体验之Aspire初体验
该文指导安装Aspire项目。首先,需检查VS版本,若低于17.9.7则须更新。通过“帮助”菜单选择“检查更新”并安装。接着创建Aspire项目,然后在AspireApp1.AppHost的launchSettings.json中添加"ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true"。运行AspireApp1.AppHost项目,最后访问AspireApp1.Web以查看结果。文中代码展示了如何在AspireApp1.Web中注入并调用apiservice的API。作者为吴晓阳。
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。