
微服务
文章平均质量分 77
似来
一个老程序员
展开
-
Spring Boot 单体应用升级 Spring Cloud 微服务最佳实践
通过以下示例,我们完整的演示了一个 Spring Boot 架构的单体应用集群,如何平滑的升级为一个 Spring Cloud 微服务集群,本文章包含源码、讲解、原理说明。在示例中,我们有如下基于 Spring Boot 开发的应用架构:我们这里列出来的只是一种示例架构。基于 Spring Boot 构建的应用架构变化多样,比如可能如下一些常用的架构,但不论哪种架构,升级 Spring Cloud 的大致改造方式都是类似的(都可以转为基于 Nacos 注册中心的地址发现与负载均衡)。原创 2025-01-17 09:30:55 · 1168 阅读 · 0 评论 -
Spring Cloud Alibaba 最佳实践
Spring Cloud Alibaba(下文简称为SCA) 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 SCA,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。原创 2025-01-17 09:30:26 · 816 阅读 · 0 评论 -
xxl-job快速入门(最全)
某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券某银行系统需要在信用卡到期还款日的前三天进行短信提醒某财务系统需要在每天凌晨0:10分结算前一天的财务数据,统计汇总以上场景就是任务调度所需要解决的问题任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展大众点评目前已接入XXL-JOB,该系统在内部已调度约100万次,表现优异。原创 2025-01-15 10:12:27 · 1236 阅读 · 0 评论 -
Spring Cloud 概述
Spring Cloud 提供了⼀些可以让开发⼈员快速构建分布式服务的⼯具, ⽐如配置管理, 服务发现, 熔断,智能路由等. 他们可以在任何分布式环境中很好的⼯作.简单来说, Spring Cloud 就是分布式微服务架构的⼀站式解决⽅案, 是微服务架构落地的多种技术的集合⽐如:Distributed/versioned configuration 分布式版本配置Service registration and discovery 服务注册和发现Routing 路由。原创 2025-01-03 17:22:18 · 943 阅读 · 0 评论 -
JAVA常用的工作流
Flowable:Flowable 是一个轻量级的工作流引擎,它是 Activiti 的一个分支,提供了更强大和灵活的工作流管理能力。Activiti:Activiti 是一个轻量级的工作流和业务流程管理平台,它是一个开源的 BPM 框架,基于 Java 编写。jBPM:jBPM 是一个基于 Java 的开源工作流引擎,它提供了一个可视化的工作流设计器,可以方便地创建和管理工作流程。Camunda:Camunda 是一个流程引擎和工作流管理系统,它基于 BPMN 2.0 标准,提供了强大的工作流管理功能。原创 2025-01-02 18:12:39 · 495 阅读 · 0 评论 -
Flowable工作流入门
在开发自己的系统时, 整合工作流, 我们往往需要程序里提供一个菜单, 实现流程的可视化配置, 拖拽, 保存, 版本管理等工作, 利用官方的设计器, 我们可以快速构造一个独立的Spring Boot工程, 提供设计器界面, 通过Url集成的方式加入我们的项目当中。在Flowable中, 如果流程是多路并行的, 可以在任务上设置为并行任务, 以替代传统工作流的多个相同任务的并行行为。内置自定义表单功能, 可以实现一些简单的表单定义, 但真正业务开展时, 很难对复杂多变的情况进行支撑, 不建议使用。原创 2024-12-31 15:40:30 · 1122 阅读 · 0 评论 -
Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time
Spring Cloud Gateway是基于Spring WebFlux构建的,Spring WebFlux是一个非阻塞的反应式web框架,而Spring MVC是一个阻塞的框架,它包含在spring-boot-starter-web依赖中。4、如果你在同一个应用中需要Spring MVC和Spring Cloud Gateway,可以在application.yml或application.properties文件中将web应用类型设置为REACTIVE。1、把web依赖放到模块里面。原创 2024-11-07 15:01:51 · 637 阅读 · 0 评论 -
Spring Cloud Gateway 过滤器执行顺序原理分析
注意:这里为了简单,直接继承自AbstractNameValueGatewayFilterFactory,实际使用看自己需求选择继承类@Component@Override@Component@Override。原创 2024-07-08 10:01:02 · 1968 阅读 · 0 评论 -
Spring Cloud Gateway的过滤器的执行顺序详解
Spring-Cloud-Gateway中提供了3种类型的过滤器,分别是:路由过滤器、Default过滤器和Global过滤器。原创 2024-07-08 09:53:59 · 1151 阅读 · 0 评论 -
Java响应式编程
本章将从响应式编程的开始,从 stream 开始逐步递进,如对流式编程或响应式编程十分熟悉的可直接跳过对应小节。本章内容因目前使用有限,仅供参考,目前也不必花费过多时间在该章内容上,待未来使用时再深入研究即可。本章内容可作为 webflux 学习的前置知识。原创 2024-03-21 19:28:43 · 2126 阅读 · 0 评论 -
JAVA微服务Spring Cloud熔断器熔断降级常见三种方案
阿里出品,Spring Cloud Alibaba限流组件,目前持续更新中自带Dashboard,可以查看接口Qps等,并且可以动态修改各种规则流量控制,直接限流、冷启动、排队熔断降级,限制并发限制数和相应时间系统负载保护,提供系统级别防护,限制总体CPU等主要核心:资源,规则(流量控制规则、熔断降级规则、系统保护规则、来源访问控制规则 和 热点参数规则。),和指标文档非常清晰和详细,中文支持动态规则(推模式和拉模式)原创 2024-01-20 22:42:54 · 3214 阅读 · 0 评论 -
微服务(Microservices)[翻译]
微服务架构”一词在过去几年中如雨后春笋般涌现,用来描述将软件应用程序设计为可独立部署的服务套件的特定方式。虽然这种架构风格没有精确的定义,但围绕业务能力、自动化部署、端点智能以及语言和数据的分散控制,围绕组织存在某些共同特征。2014 年 3 月 25 日詹姆斯·刘易斯James Lewis 是 Thoughtworks 的首席顾问,也是技术咨询委员会的成员。James 对从小型协作服务构建应用程序的兴趣源于大规模集成企业系统的背景。他使用微服务构建了许多系统,并且多年来一直是不断发展的社区的积极参与者。原创 2024-01-07 14:42:47 · 1050 阅读 · 0 评论 -
大厂面试题-微服务体系思维导图
微服务体系思维导图原创 2023-12-30 19:40:32 · 369 阅读 · 0 评论 -
大厂自动生成接口文档-Swagger3.0
Swagger 是一系列 RESTful API 的工具,通过 Swagger 可以获得项目的⼀种交互式文档,客户端 SDK 的自 动生成等功能。Swagger 的目标是为 REST APIs 定义一个标准的、与语⾔言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下,能发现和理解各种服务的功能。当服务通过 Swagger 定义,消费者就能与远程的服务互动通过少量的实现逻辑。Swagger(丝袜哥)是世界上最流行的 API 表达工具。原创 2023-12-22 17:18:10 · 1066 阅读 · 0 评论 -
使用Postman注册Nacos实例
注册一个实例到服务。原创 2023-12-08 17:04:17 · 295 阅读 · 0 评论 -
nacos的nacos.server-add和nacos.discovery.server-addr区别
而spring.cloud.nacos.discovery.server-addr是用于配置Nacos服务发现的地址,它指定了Nacos服务发现的服务器地址和端口。这个配置项用于服务发现功能,即应用程序通过Nacos发现其他注册的服务。spring.cloud.nacos.server-addr是用于配置Nacos服务的地址,它指定了Nacos服务器的地址和端口。这个配置项用于与Nacos进行通信和注册服务。两者的作用不同,前者用于与Nacos进行通信和注册服务,后者用于服务发现功能。原创 2023-12-06 15:57:43 · 3029 阅读 · 0 评论 -
Ribbon配置IRule的坑
技术线:SpringCloud,Ribbon, Nacos在springBoot工程中加入如上配置,有多个下游service服务的时候。通过org.springframework.web.client.RestTemplate调用下游服务时。com.netflix.loadbalancer.ILoadBalancer#chooseServer就无法发现服务地址,从而会报No instances available for *** 或者404异常。原创 2023-09-26 21:24:24 · 264 阅读 · 2 评论 -
幂等性解决方案
如订单业务中,存在状态「1-已下单,2-已支付,3-已完成,4-已取消」,按照业务流程,状态是依次流转的,所以在update操作时,我们就要根据本次的状态来更新下一次的状态。如果此时有多个相同的请求,可能会导致用户的金额变为负数。某些业务场景,是允许重复数据存在的,仅在流程的某个环节才不允许出现重复数据,这种情况直接在表中添加唯一索引是不合适的,所以就需要创建一张去重表。分布式锁的逻辑是,每次请求都通过业务唯一ID来尝试获取锁,如果获取成功,就进行后续业务逻辑操作,如果获取失败,就舍弃请求直接返回。原创 2023-07-24 10:55:21 · 391 阅读 · 0 评论 -
The bean ‘XXXX.FeignClientSpecification‘ could not be registered
The bean 'XXXX.FeignClientSpecification' could not be registered. A bean with that name has already been defined and overriding is disabled.问题处理。3、在@FeignClient增加contextId,contextId不能重复。1、把feign的代码进行合并。原创 2023-11-29 10:06:26 · 311 阅读 · 0 评论