- 博客(16)
- 收藏
- 关注
原创 K8s集群
Kubernets简称k8s。是用于自动扩展和管理容器化应用程序的开源系统。中文官网:https://kubernetes.io/zh-cn/部署方式的进化Pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。官方文档链接:https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/
2024-08-08 09:53:39
1108
1
原创 springBoot
结论:spring所有的自动配置都是在启动的时候扫描并加载,spring.factories 所有的自动配置类都在这里,但是不一定生效,需要判断条件是否成立,只要导入了对应的start,就有对应的启动器,我们自动装配就会生效,然后配置成功。4、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性,我们只需要在配置文件中指定这些属性的值即可。5、它会把所有需要导入的组件,以类名的方式返回,这些组件就会添加到容器。2、看我们需要的功能有没有在springboot默认写好的自动配置类中。
2024-08-08 09:44:18
754
原创 秒杀业务实现
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。资源资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。
2023-12-26 16:29:39
302
原创 RabbitMQ延时队列以及消息丢失、重复、积压解决方案
一个消息被Consumer拒收了,并且reject方法参数里的requeue是false。也就是说不会在进入到队列里面。被其他消费者消费。消息的TTL到了,消息到期了。队列的长度限制满了,排在前面的消息会被丢弃或者扔在死信路由上。Dead Letter Exchange其实就是一种普通的Exchange,和创建其他的Exchange没有什么两样。只是在某一个设置Dead Letter Exchange的队列中有消息过期了,会自动触发消息的转发,发送到Dead Letter Excahnge中。
2023-12-04 16:33:22
1073
原创 SEATA整合springBoot
*注意:**seata.properties该文件必须配置,配置内容为 seata-server-2.0.0\seata\script\config-center\config.txt 内的文件内容。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。本文中所使用seata-server2.0.0 版本 ,配置application.yml,注册进consul注册中心。因为 Seata 通过代理数据源实现分支事务,如果没有注入,事务无法成功回滚。
2023-12-01 13:54:06
118
原创 本地事务与分布式事务
在同一个事务中,select的结果是事务开始时间点的状态,因此同样的select操作读到的数据是一致的,但是会有幻读现象。在同一个类中,编写两个方法,内部调用的时候,会导致事务设置失效,原因是没有代理对象的缘故(绕过了代理),而事务是使用代理对象来控制的。产生原因:当一个事务(A)在执行时,在还未提交的情况下,被其他事务(B)获取到数据,如果A事务回滚,则B事务所获取到的数据为脏数据。SUPPORTS:支持当前事务,如果存在当前事务,就加入该事务,如果当前不存在事务,就以非事务方式执行。
2023-12-01 11:56:56
280
原创 spring
aop是oop(面向对象)的延续。对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方。在不使用spring 之前 ,我们的程序根据用户需求变更,在多个service层中,我们的代码可能会随着用户需求变更而变更,如果程序代码量时,修改一次的成本代价十分昂贵。:使用对象时,由主动new产生对象转换成,从外部提供对象,在这个过程中,对象的创建控制权由程序转移到外部,此思想称为控制反转。默认为单例,无论从bean中创建几个对象,所获取的对象都是同一个。
2022-09-28 10:05:40
149
原创 mysql分库分表
一、如何进行分库分表1、概念:将原本存储在单个数据库上的数据拆分到多个数据库中(分库),把原来存储在单张表的数据拆分到多张数据表中,实现数据切分,从而提生数据库操作性能。分库分表的实现方式分为两种:垂直切分,水平切分。2、水平拆分:将数据分散到多张表,涉及到分区键。分库:每个库结构一样,数据不一样,没有交集。库多了可以缓解io和cpu压力。分表:每个表结构一样,数据不一样,没有交集。表数量减少,可以提高sql执行效率,减轻cpu压力。优缺点:优点:单库(表)的数据保持在一定的量(减
2022-01-20 10:12:04
5120
2
原创 springBoot使用poi导出Excel
一、导入依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version></dependency>二、自定义注解@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)
2021-12-24 16:38:53
1912
原创 kafka学习笔记二
一、kafka的java客户端-生产者1、引入依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>2、生产者的基本实现package com.producer;import com.alibaba.fastjson.JSON;imp
2021-10-27 16:19:09
322
原创 kafka学习笔记一
一、同步通信与异步通信1、同步通信同步通信存在性能问题:造成系统得开销、响应时间比较大。在同步得过程中要保证每个服务都顺利完成,整个链路才会执行完。因为网络等其他问题,整个链路执行完得成功率回受到影响,导致用户体验较差。2、异步通信异步通信得优势:明显提高系统得吞吐量。即使服务失败,也能通过分布式事务来保障最终是成功得。针对于同步通信来说,异步通信得方式,可以让上游快速成功,极大得提高了吞吐量。而且在分布式系统中,通过下游多个服务得分布式事务得保障,也能保障事务执行得最终一致性
2021-10-21 10:13:42
616
原创 ES学习笔记一
一、ES学习Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储数据。ElasticSearch 是分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个实例。单个实例称为一个节点(node),一组节点构成一个集群(cluster)。分片是底层的工作单元,文档保存在分片内,分片又被分配到集群内的各个节点里,每个分片仅保存全部数据的一部分。一个 Elasticsearch 请求和任何
2021-09-17 18:14:15
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人