微服务
文章平均质量分 96
烟雨平生9527
没有谁的生活会一直完美,但无论什么时候,都要看着远方,满怀希望就会所向披靡
展开
-
springboot功能模块之支付宝沙箱支付
支付宝沙箱支付(Alipay Sandbox Payment)是支付宝提供的一个模拟支付环境,用于开发和测试支付宝支付功能的开发者工具。在真实的支付宝环境中进行支付开发和测试可能涉及真实资金和真实用户账户,而沙箱环境则提供了一个安全、隔离的环境,使开发者能够模拟支付过程,测试支付功能,而不会使用真实资金。使用支付宝沙箱支付环境,开发者可以模拟各种支付场景,包括交易创建、支付请求、支付回调等,以验证支付功能的正确性和稳定性。沙箱环境中的所有交易和数据都是虚拟的,不会产生真实的交易或资金流动。原创 2024-06-06 12:41:18 · 701 阅读 · 0 评论 -
Spring Cache入门详解
Slf4j// 按默认jdk序列化对象。未声明全局配置,缓存数据永不过期/*@Bean// 全局配置// 独立配置.build();}*/// 持基于jackson的序列化,以及自定义缓存策略@Bean// 全局配置:设置默认的缓存配置,包括过期时间和序列化方式.defaultCacheConfig() // 获取默认的缓存配置.entryTtl(Duration.ofMinutes(4)) // 设置缓存过期时间为4分钟// 使用指定的序列化器进行序列化。原创 2024-05-24 10:32:03 · 998 阅读 · 0 评论 -
Spring Security入门
1.1、创建自定义配置实际开发的过程中,我们需要应用程序更加灵活,可以在SpringSecurity中创建自定义配置文件Java自定义配置用来管理用户信息,是UserDetailsService的一个实现,用来管理基于内存的用户信息。创建一个WebSecurityConfig文件:定义一个@Bean,类型是UserDetailsService,实现是InMemoryUserDetailsManager。原创 2024-05-22 10:47:51 · 966 阅读 · 1 评论 -
中间件之数据库中间件ShardingShpere
概览 :: ShardingSphereApache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。原创 2024-05-11 21:41:07 · 834 阅读 · 0 评论 -
中间件之搜索和数据分析组件Elasticsearch
正向索引是最传统的,根据id索引的方式。但根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。而倒排索引则相反,是先找到用户要搜索的词条,根据词条得到保护词条的文档的id,然后根据id获取文档。是根据词条找文档的过程。正向索引优点:可以给多个字段创建索引根据索引字段搜索、排序速度非常快缺点:根据非索引字段,或者索引字段中的部分词条查找时,只能全表扫描。倒排索引优点:根据词条搜索、模糊搜索时,速度非常快缺点:只能给词条创建索引,而不是字段。原创 2024-05-04 15:37:13 · 1351 阅读 · 0 评论 -
中间件之异步通讯组件RabbitMQ入门
connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况`channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。Exchanges:交换机,用来实现消息的路由Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。1:跨系统数据传递2:高并发的流量削峰3:数据的分发和异步处理4:大数据分析与传递5:分布式事务。原创 2024-05-01 16:09:46 · 1311 阅读 · 2 评论 -
微服务之SpringCloud AlibabaSeata处理分布式事务
解决分布式事务的方案有很多,但实现起来都比较复杂,因此我们一般会使用开源的框架来解决分布式事务问题。在众多的开源分布式事务框架中,功能最完善、使用最多的就是阿里巴巴在2019年开源的Seata了。其实分布式事务产生的一个重要原因,就是参与事务的多个分支事务互相无感知,不知道彼此的执行状态。因此解决分布式事务的思想非常简单:就是找一个统一的事务协调者,与多个分支事务通信,检测每个分支事务的执行状态,保证全局事务下的每一个分支事务同时成功或失败即可。大多数的分布式事务框架都是基于这个理论来实现的。TC。原创 2024-04-30 15:33:01 · 1280 阅读 · 0 评论 -
微服务之分布式理论zookeeper概述
安装import syszk.start()zk.stop()zk.close()main()远程过程调⽤过程是什么?过程就是业务处理、计算任务,更直⽩理解,就是程序;像调⽤本地⽅法⼀样调⽤远程的过程.熟悉的Webserveice、restful接⼜调⽤时都是RPC,仅消息的组织⽅式以及消息协议不同.远程过程调⽤较本地调⽤有何不同?速度相对慢;可靠性减弱.原创 2024-04-26 23:44:30 · 1325 阅读 · 3 评论 -
微服务之并行与分布式计算
单机存储系统VS分布式存储系统单机存储系统单机存储就是散列表、B树等数据结构在机械硬盘、SSD 等持久化介质上的实现。存储系统的数据模型主要包括三类:文件关系以及键值模型分布式存储系统分布式系统能够将数据分布到多个节点,并在多个节点之间实现负载均衡。其方式主要有两种:散列分布,如一致性散列,代表系统为Amazon的Dynamo系统;顺序分布,即每张表格上的数据按照主键整体有序,代表系统为 Google的Bigtable。原创 2024-04-27 23:33:48 · 1095 阅读 · 1 评论 -
微服务之.SpringCloud AlibabaSentinel实现熔断与限流
Sentinel中的断路器不仅可以统计某个接口的慢请求比例,还可以统计异常请求比例。当这些比例超出阈值时,就会熔断该接口,即拦截访问该接口的一切请求,降级处理;当该接口恢复正常时,再放行对于该接口的请求。断路器的工作状态切换有一个状态机来控制:closed:关闭状态,断路器放行所有请求,并开始统计异常比例、慢请求比例。超过阈值则切换到open状态open:打开状态,服务调用被熔断,访问被熔断服务的请求会被拒绝,快速失败,直接走降级逻辑。Open状态持续一段时间后会进入half-open状态。原创 2024-04-22 14:25:29 · 1126 阅读 · 0 评论 -
微服务之SpringCloud AlibabaNacos服务注册和配置中心
在微服务远程调用的过程中,包括两个角色:服务提供者:提供接口供其它微服务访问,比如服务消费者:调用其它微服务提供的接口,比如在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了的概念。注册中心、服务提供者、服务消费者三者间关系如下:流程如下:服务启动时就会注册自己的服务信息(服务名、IP、端口)到注册中心调用者可以从注册中心订阅想要的服务,获取服务对应的实例列表(1个服务可能多实例部署)调用者自己对实例列表负载均衡,挑选一个实例调用者向该实例发起远程调用。原创 2024-04-21 20:28:34 · 1377 阅读 · 0 评论 -
微服务之网关路由
Gateway是在Spring生态系统之上构建的API网关服务,基于Spring6,Spring Boot 3和Project Reactor等技术。它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式,并为它们提供跨领域的关注点,例如:安全性、监控/度量和恢复能力。在SpringCloud当中,提供了两种网关实现方案:Netflix Zuul:早期实现,目前已经淘汰SpringCloudGateway:基于Spring的WebFlux技术,完全支持响应式编程,吞吐能力更强反向代理。原创 2024-04-16 23:29:55 · 1461 阅读 · 1 评论 -
微服务之分布式链路追踪
分布式链路追踪技术要解决的问题,分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。原创 2024-04-15 23:27:50 · 1054 阅读 · 0 评论 -
微服务之CircuitBreaker断路器
有问题的节点,快速熔断(快速返回失败处理或者返回默认兜底数据【服务降级】)。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack)而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。服务熔断。原创 2024-04-15 17:29:11 · 1462 阅读 · 0 评论 -
微服务之OpenFeign服务接口调用
Open是一个web声明式http远程调用工具,直接可以根据服务名称去注册中心拿到指定的服务IP集合,提供了接口和注解方式进行调用,内嵌集成了Ribbon本地负载均衡器。Feign是一个。它使编写web服务客户端变得更容易。使用Feign创建一个接口并对其进行注释。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。原创 2024-04-15 10:52:28 · 1171 阅读 · 0 评论 -
微服务之LoadBalancer负载均衡服务调用
LB,既负载均衡(Load Balancer),是高并发、高可用系统必不可少的关键组件,其目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。负载均衡的主要作用。原创 2024-04-14 20:39:19 · 1562 阅读 · 0 评论 -
RestTemplate详解
现如今的 IT 项目,由服务端向外发起网络请求的场景,基本上处处可见!传统情况下,在服务端代码里访问 http 服务时,一般会使用 JDK 的 HttpURLConnection 或者 Apache 的 HttpClient,不过这种方法使用起来太过繁琐,而且 api 使用起来非常的复杂,还得操心资源回收。以下载文件为例,通过 Apache 的 HttpClient方式进行下载文件,会很复杂其实Spring已经为我们提供了一种简单便捷的模板类来进行操作,它就是RestTemplate。原创 2024-04-14 17:16:30 · 1271 阅读 · 0 评论 -
微服务之Consul 注册中心介绍以及搭建
单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。当项目规模较小时,这种模式上手快,部署、运维也都很方便,因此早期很多小型项目都采用这种模式。团队协作成本高:试想一下,你们团队数十个人同时协作开发同一个项目,由于所有模块都在一个项目中,不同模块的代码之间物理边界越来越模糊。最终要把功能合并到一个分支,你绝对会陷入到解决冲突的泥潭之中。系统发布效率低。原创 2024-04-13 20:47:56 · 2609 阅读 · 1 评论